{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 项目：用线性回归预测房价数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 分析目标"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "此数据分析报告的目的是，基于已有的房屋销售价格，以及有关该房屋的属性，进行线性回归分析，从而利用得到的线性回归模型，能对以下未知售价的房屋根据属性进行价格预测：\n",
    "\n",
    "面积为6500平方英尺，有4个卧室、2个厕所，总共2层，不位于主路，无客人房，带地下室，有热水器，没有空调，车位数为2，位于城市首选社区，简装修。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 简介"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据集`house_price.csv`记录了超过五百栋房屋的交易价格，以及房屋的相关属性信息，包括房屋面积、卧室数、厕所数、楼层数、是否位于主路、是否有客房，等等。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`house_price.csv`每列的含义如下：\n",
    "- price：房屋出售价格\n",
    "- area：房屋面积，以平方英尺为单位\n",
    "- bedrooms：卧室数\n",
    "- bathrooms：厕所数\n",
    "- stories：楼层数\n",
    "- mainroad：是否位于主路\n",
    "   - yes  是\n",
    "   - no\t  否\n",
    "- guestroom：是否有客房\n",
    "   - yes  是\n",
    "   - no\t  否\n",
    "- basement：是否有地下室\n",
    "   - yes  是\n",
    "   - no\t  否\n",
    "- hotwaterheating：是否有热水器\n",
    "   - yes  是\n",
    "   - no\t  否\n",
    "- airconditioning：是否有空调\n",
    "   - yes  是\n",
    "   - no\t  否\n",
    "- parking：车库容量，以车辆数量为单位\n",
    "- prefarea：是否位于城市首选社区\n",
    "   - yes  是\n",
    "   - no\t  否\n",
    "- furnishingstatus：装修状态\n",
    "   - furnished       精装\n",
    "   - semi-furnished\t 简装\n",
    "   - unfurnished     毛坯"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 读取数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "导入数据分析所需要的库。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.843595500Z",
     "start_time": "2024-04-07T14:57:54.686165Z"
    }
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "导入数据分析所需要的库，并通过Pandas的`read_csv`函数，将原始数据文件\"house_price.csv\"里的数据内容，解析为DataFrame并赋值给变量`original_house_price`。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.847626900Z",
     "start_time": "2024-04-07T14:57:54.689670200Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "      price  area  bedrooms  bathrooms  stories mainroad guestroom basement  \\\n0  13300000  7420         4          2        3      yes        no       no   \n1  12250000  8960         4          4        4      yes        no       no   \n2  12250000  9960         3          2        2      yes        no      yes   \n3  12215000  7500         4          2        2      yes        no      yes   \n4  11410000  7420         4          1        2      yes       yes      yes   \n\n  hotwaterheating airconditioning  parking prefarea furnishingstatus  \n0              no             yes        2      yes        furnished  \n1              no             yes        3       no        furnished  \n2              no              no        2      yes   semi-furnished  \n3              no             yes        3      yes        furnished  \n4              no             yes        2       no        furnished  ",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>price</th>\n      <th>area</th>\n      <th>bedrooms</th>\n      <th>bathrooms</th>\n      <th>stories</th>\n      <th>mainroad</th>\n      <th>guestroom</th>\n      <th>basement</th>\n      <th>hotwaterheating</th>\n      <th>airconditioning</th>\n      <th>parking</th>\n      <th>prefarea</th>\n      <th>furnishingstatus</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>13300000</td>\n      <td>7420</td>\n      <td>4</td>\n      <td>2</td>\n      <td>3</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>no</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>2</td>\n      <td>yes</td>\n      <td>furnished</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>12250000</td>\n      <td>8960</td>\n      <td>4</td>\n      <td>4</td>\n      <td>4</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>no</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>3</td>\n      <td>no</td>\n      <td>furnished</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>12250000</td>\n      <td>9960</td>\n      <td>3</td>\n      <td>2</td>\n      <td>2</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>no</td>\n      <td>2</td>\n      <td>yes</td>\n      <td>semi-furnished</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>12215000</td>\n      <td>7500</td>\n      <td>4</td>\n      <td>2</td>\n      <td>2</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>3</td>\n      <td>yes</td>\n      <td>furnished</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>11410000</td>\n      <td>7420</td>\n      <td>4</td>\n      <td>1</td>\n      <td>2</td>\n      <td>yes</td>\n      <td>yes</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>2</td>\n      <td>no</td>\n      <td>furnished</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "original_house_price = pd.read_csv(\"house_price.csv\")\n",
    "original_house_price.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 评估和清理数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在这一部分中，我们将对在上一部分建立的`original_house_price`DataFrame所包含的数据进行评估和清理。\n",
    "\n",
    "主要从两个方面进行：结构和内容，即整齐度和干净度。\n",
    "\n",
    "数据的结构性问题指不符合“每个变量为一列，每个观察值为一行，每种类型的观察单位为一个表格”这三个标准；数据的内容性问题包括存在丢失数据、重复数据、无效数据等。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "为了区分开经过清理的数据和原始的数据，我们创建新的变量`cleaned_house_price`，让它为`original_house_price`复制出的副本。我们之后的清理步骤都将被运用在`cleaned_house_price`上。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.847626900Z",
     "start_time": "2024-04-07T14:57:54.734116700Z"
    }
   },
   "outputs": [],
   "source": [
    "cleaned_house_price = original_house_price.copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据整齐度"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.861366900Z",
     "start_time": "2024-04-07T14:57:54.737758200Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "      price   area  bedrooms  bathrooms  stories mainroad guestroom basement  \\\n0  13300000   7420         4          2        3      yes        no       no   \n1  12250000   8960         4          4        4      yes        no       no   \n2  12250000   9960         3          2        2      yes        no      yes   \n3  12215000   7500         4          2        2      yes        no      yes   \n4  11410000   7420         4          1        2      yes       yes      yes   \n5  10850000   7500         3          3        1      yes        no      yes   \n6  10150000   8580         4          3        4      yes        no       no   \n7  10150000  16200         5          3        2      yes        no       no   \n8   9870000   8100         4          1        2      yes       yes      yes   \n9   9800000   5750         3          2        4      yes       yes       no   \n\n  hotwaterheating airconditioning  parking prefarea furnishingstatus  \n0              no             yes        2      yes        furnished  \n1              no             yes        3       no        furnished  \n2              no              no        2      yes   semi-furnished  \n3              no             yes        3      yes        furnished  \n4              no             yes        2       no        furnished  \n5              no             yes        2      yes   semi-furnished  \n6              no             yes        2      yes   semi-furnished  \n7              no              no        0       no      unfurnished  \n8              no             yes        2      yes        furnished  \n9              no             yes        1      yes      unfurnished  ",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>price</th>\n      <th>area</th>\n      <th>bedrooms</th>\n      <th>bathrooms</th>\n      <th>stories</th>\n      <th>mainroad</th>\n      <th>guestroom</th>\n      <th>basement</th>\n      <th>hotwaterheating</th>\n      <th>airconditioning</th>\n      <th>parking</th>\n      <th>prefarea</th>\n      <th>furnishingstatus</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>13300000</td>\n      <td>7420</td>\n      <td>4</td>\n      <td>2</td>\n      <td>3</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>no</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>2</td>\n      <td>yes</td>\n      <td>furnished</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>12250000</td>\n      <td>8960</td>\n      <td>4</td>\n      <td>4</td>\n      <td>4</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>no</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>3</td>\n      <td>no</td>\n      <td>furnished</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>12250000</td>\n      <td>9960</td>\n      <td>3</td>\n      <td>2</td>\n      <td>2</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>no</td>\n      <td>2</td>\n      <td>yes</td>\n      <td>semi-furnished</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>12215000</td>\n      <td>7500</td>\n      <td>4</td>\n      <td>2</td>\n      <td>2</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>3</td>\n      <td>yes</td>\n      <td>furnished</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>11410000</td>\n      <td>7420</td>\n      <td>4</td>\n      <td>1</td>\n      <td>2</td>\n      <td>yes</td>\n      <td>yes</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>2</td>\n      <td>no</td>\n      <td>furnished</td>\n    </tr>\n    <tr>\n      <th>5</th>\n      <td>10850000</td>\n      <td>7500</td>\n      <td>3</td>\n      <td>3</td>\n      <td>1</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>2</td>\n      <td>yes</td>\n      <td>semi-furnished</td>\n    </tr>\n    <tr>\n      <th>6</th>\n      <td>10150000</td>\n      <td>8580</td>\n      <td>4</td>\n      <td>3</td>\n      <td>4</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>no</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>2</td>\n      <td>yes</td>\n      <td>semi-furnished</td>\n    </tr>\n    <tr>\n      <th>7</th>\n      <td>10150000</td>\n      <td>16200</td>\n      <td>5</td>\n      <td>3</td>\n      <td>2</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>no</td>\n      <td>no</td>\n      <td>no</td>\n      <td>0</td>\n      <td>no</td>\n      <td>unfurnished</td>\n    </tr>\n    <tr>\n      <th>8</th>\n      <td>9870000</td>\n      <td>8100</td>\n      <td>4</td>\n      <td>1</td>\n      <td>2</td>\n      <td>yes</td>\n      <td>yes</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>2</td>\n      <td>yes</td>\n      <td>furnished</td>\n    </tr>\n    <tr>\n      <th>9</th>\n      <td>9800000</td>\n      <td>5750</td>\n      <td>3</td>\n      <td>2</td>\n      <td>4</td>\n      <td>yes</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>1</td>\n      <td>yes</td>\n      <td>unfurnished</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price.head(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从头部的10行数据来看，数据符合“每个变量为一列，每个观察值为一行，每种类型的观察单位为一个表格”，因此不存在结构性问题。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据干净度"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "接下来通过`info`，对数据内容进行大致了解。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.861366900Z",
     "start_time": "2024-04-07T14:57:54.745877500Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 545 entries, 0 to 544\n",
      "Data columns (total 13 columns):\n",
      " #   Column            Non-Null Count  Dtype \n",
      "---  ------            --------------  ----- \n",
      " 0   price             545 non-null    int64 \n",
      " 1   area              545 non-null    int64 \n",
      " 2   bedrooms          545 non-null    int64 \n",
      " 3   bathrooms         545 non-null    int64 \n",
      " 4   stories           545 non-null    int64 \n",
      " 5   mainroad          545 non-null    object\n",
      " 6   guestroom         545 non-null    object\n",
      " 7   basement          545 non-null    object\n",
      " 8   hotwaterheating   545 non-null    object\n",
      " 9   airconditioning   545 non-null    object\n",
      " 10  parking           545 non-null    int64 \n",
      " 11  prefarea          545 non-null    object\n",
      " 12  furnishingstatus  545 non-null    object\n",
      "dtypes: int64(6), object(7)\n",
      "memory usage: 55.5+ KB\n"
     ]
    }
   ],
   "source": [
    "cleaned_house_price.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从输出结果来看，`cleaned_house_price`共有545条观察值，变量不存在缺失值。\n",
    "\n",
    "数据类型方面，我们已知`mainroad`（是否位于主路）、`guestroom`（是否有客房）、`basement`（是否有地下室）、`hotwaterheating`（是否有热水器）、`airconditioning`（是否有空调）、`prefarea`（是否位于城市首选社区）、`furnishingstatus`（装修状态）都是分类数据，可以把数据类型都转换为Category。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.861366900Z",
     "start_time": "2024-04-07T14:57:54.765036500Z"
    }
   },
   "outputs": [],
   "source": [
    "cleaned_house_price['mainroad'] = cleaned_house_price['mainroad'].astype(\"category\")\n",
    "cleaned_house_price['guestroom'] = cleaned_house_price['guestroom'].astype(\"category\")\n",
    "cleaned_house_price['basement'] = cleaned_house_price['basement'].astype(\"category\")\n",
    "cleaned_house_price['hotwaterheating'] = cleaned_house_price['hotwaterheating'].astype(\"category\")\n",
    "cleaned_house_price['airconditioning'] = cleaned_house_price['airconditioning'].astype(\"category\")\n",
    "cleaned_house_price['prefarea'] = cleaned_house_price['prefarea'].astype(\"category\")\n",
    "cleaned_house_price['furnishingstatus'] = cleaned_house_price['furnishingstatus'].astype(\"category\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.861366900Z",
     "start_time": "2024-04-07T14:57:54.770140800Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 545 entries, 0 to 544\n",
      "Data columns (total 13 columns):\n",
      " #   Column            Non-Null Count  Dtype   \n",
      "---  ------            --------------  -----   \n",
      " 0   price             545 non-null    int64   \n",
      " 1   area              545 non-null    int64   \n",
      " 2   bedrooms          545 non-null    int64   \n",
      " 3   bathrooms         545 non-null    int64   \n",
      " 4   stories           545 non-null    int64   \n",
      " 5   mainroad          545 non-null    category\n",
      " 6   guestroom         545 non-null    category\n",
      " 7   basement          545 non-null    category\n",
      " 8   hotwaterheating   545 non-null    category\n",
      " 9   airconditioning   545 non-null    category\n",
      " 10  parking           545 non-null    int64   \n",
      " 11  prefarea          545 non-null    category\n",
      " 12  furnishingstatus  545 non-null    category\n",
      "dtypes: category(7), int64(6)\n",
      "memory usage: 30.3 KB\n"
     ]
    }
   ],
   "source": [
    "cleaned_house_price.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 处理缺失数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从`info`方法的输出结果来看，`cleaned_house_price`不存在缺失值，因此不需要对缺失数据进行处理。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 处理重复数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "根据数据变量的含义以及内容来看，允许变量重复，我们不需要对此数据检查是否存在重复值。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 处理不一致数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "不一致数据可能存在于所有分类变量中，我们要查看是否存在不同值实际指代同一目标的情况。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.888321100Z",
     "start_time": "2024-04-07T14:57:54.804666300Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "mainroad\nyes    468\nno      77\nName: count, dtype: int64"
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price[\"mainroad\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.888321100Z",
     "start_time": "2024-04-07T14:57:54.809577200Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "guestroom\nno     448\nyes     97\nName: count, dtype: int64"
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price[\"guestroom\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.888321100Z",
     "start_time": "2024-04-07T14:57:54.814017900Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "basement\nno     354\nyes    191\nName: count, dtype: int64"
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price[\"basement\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.888321100Z",
     "start_time": "2024-04-07T14:57:54.821716100Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "hotwaterheating\nno     520\nyes     25\nName: count, dtype: int64"
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price[\"hotwaterheating\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.888321100Z",
     "start_time": "2024-04-07T14:57:54.823934300Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "airconditioning\nno     373\nyes    172\nName: count, dtype: int64"
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price[\"airconditioning\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.888321100Z",
     "start_time": "2024-04-07T14:57:54.829990900Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "prefarea\nno     417\nyes    128\nName: count, dtype: int64"
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price[\"prefarea\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.888321100Z",
     "start_time": "2024-04-07T14:57:54.834119500Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "furnishingstatus\nsemi-furnished    227\nunfurnished       178\nfurnished         140\nName: count, dtype: int64"
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price[\"furnishingstatus\"].value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从以上输出结果来看，均不存在不一致数据。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 处理无效或错误数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以通过DataFrame的`describe`方法，对数值统计信息进行快速了解。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {
    "scrolled": true,
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.888321100Z",
     "start_time": "2024-04-07T14:57:54.842231600Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "              price          area    bedrooms   bathrooms     stories  \\\ncount  5.450000e+02    545.000000  545.000000  545.000000  545.000000   \nmean   4.766729e+06   5150.541284    2.965138    1.286239    1.805505   \nstd    1.870440e+06   2170.141023    0.738064    0.502470    0.867492   \nmin    1.750000e+06   1650.000000    1.000000    1.000000    1.000000   \n25%    3.430000e+06   3600.000000    2.000000    1.000000    1.000000   \n50%    4.340000e+06   4600.000000    3.000000    1.000000    2.000000   \n75%    5.740000e+06   6360.000000    3.000000    2.000000    2.000000   \nmax    1.330000e+07  16200.000000    6.000000    4.000000    4.000000   \n\n          parking  \ncount  545.000000  \nmean     0.693578  \nstd      0.861586  \nmin      0.000000  \n25%      0.000000  \n50%      0.000000  \n75%      1.000000  \nmax      3.000000  ",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>price</th>\n      <th>area</th>\n      <th>bedrooms</th>\n      <th>bathrooms</th>\n      <th>stories</th>\n      <th>parking</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>count</th>\n      <td>5.450000e+02</td>\n      <td>545.000000</td>\n      <td>545.000000</td>\n      <td>545.000000</td>\n      <td>545.000000</td>\n      <td>545.000000</td>\n    </tr>\n    <tr>\n      <th>mean</th>\n      <td>4.766729e+06</td>\n      <td>5150.541284</td>\n      <td>2.965138</td>\n      <td>1.286239</td>\n      <td>1.805505</td>\n      <td>0.693578</td>\n    </tr>\n    <tr>\n      <th>std</th>\n      <td>1.870440e+06</td>\n      <td>2170.141023</td>\n      <td>0.738064</td>\n      <td>0.502470</td>\n      <td>0.867492</td>\n      <td>0.861586</td>\n    </tr>\n    <tr>\n      <th>min</th>\n      <td>1.750000e+06</td>\n      <td>1650.000000</td>\n      <td>1.000000</td>\n      <td>1.000000</td>\n      <td>1.000000</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>25%</th>\n      <td>3.430000e+06</td>\n      <td>3600.000000</td>\n      <td>2.000000</td>\n      <td>1.000000</td>\n      <td>1.000000</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>50%</th>\n      <td>4.340000e+06</td>\n      <td>4600.000000</td>\n      <td>3.000000</td>\n      <td>1.000000</td>\n      <td>2.000000</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>75%</th>\n      <td>5.740000e+06</td>\n      <td>6360.000000</td>\n      <td>3.000000</td>\n      <td>2.000000</td>\n      <td>2.000000</td>\n      <td>1.000000</td>\n    </tr>\n    <tr>\n      <th>max</th>\n      <td>1.330000e+07</td>\n      <td>16200.000000</td>\n      <td>6.000000</td>\n      <td>4.000000</td>\n      <td>4.000000</td>\n      <td>3.000000</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从以上统计信息来看，`cleaned_house_price`里不存在脱离现实意义的数值。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 探索数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在着手推断统计学分析之前，我们可以先借助数据可视化，探索数值变量的分布，以及与房价存在相关性的变量，为后续的进一步分析提供方向。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.892323200Z",
     "start_time": "2024-04-07T14:57:54.875001300Z"
    }
   },
   "outputs": [],
   "source": [
    "# 设置图表色盘为\"pastel\"\n",
    "sns.set_palette(\"pastel\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 房价分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.928348300Z",
     "start_time": "2024-04-07T14:57:54.891357200Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 700x350 with 2 Axes>",
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.rcParams[\"figure.figsize\"] = [7.00, 3.50] #设置图表的尺寸为宽7英寸，高3.5英寸。\n",
    "plt.rcParams[\"figure.autolayout\"] = True #自动调整子图的布局，使它们适应整个图。\n",
    "figure, axes = plt.subplots(1, 2)  #创建一个1行2列的子图网格。\n",
    "sns.histplot(cleaned_house_price, x='price', ax=axes[0]) #在第一个子图（axes[0]）上绘制房价数据的直方图。\n",
    "sns.boxplot(cleaned_house_price, y='price', ax=axes[1]) #在第二个子图（axes[1]）上绘制房价数据的箱线图。\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "房价呈右偏态分布，说明数据集中的大多数房子价格中等，但有一些价格很高的极端值，使得均值被拉高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 面积分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.961598800Z",
     "start_time": "2024-04-07T14:57:55.246824Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 700x350 with 2 Axes>",
      "image/png": "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r+XLl+PJJ59s1QSJiGzB4MGDkZqaivz8fOmffVEUUVNTgwsXLjRb4BIRUdPua07svHnzoFAo8NRTTyE8PBzh4eEYNWoUOnTogNdee621cyQikr3ExER89dVXCAwMxLlz56BSqaBUKpGdnY25c+daOj0iItlp8ZHYS5cuwc/PD++//z6+//57XLhwAQqFAl27dkWPHj3aIkciItk7c+YMNm/eDLVajX//+98YOnQoQkJCkJqaii+//BLTp0+3dIpERLJi8pFYURSxfPlyjB49Gt988w0AoHfv3hgzZgzS0tIQGRmJN954A6IotlmyRERyJYoifH19Adw5ETY3NxcAMHr0aHz77bet+lrFxcWIiYnBgAEDEBERga1bt0qx3NxcTJw4ESqVCuPHj0dOTo7Rsunp6Rg+fDhUKhViY2Nx7do1o3VITk7GoEGDEBYWhqSkJNTX17dq7kREpjK5iN2+fTsOHz6MlJQU6WYHDdatW4eUlBTs378fH330UasnSUQkd3379sWBAwcAAH369MG///1vAMCPP/7Y6q/1v//7v2jXrh327duHBQsW4K233sKnn36KyspKREdHIzQ0FPv27YNarUZMTAwqKysBANnZ2UhMTERcXBx27dolXRO8wZYtW5Ceno61a9dizZo1OHjwILZs2dLq+RMRmcLkInb37t147bXXMGzYsCbjEREReOWVV1jEEhE14eWXX8bmzZuxdetWPPPMM8jJycHTTz+NuLg4jBkzptVe58aNG8jKysLs2bPRtWtXDB8+HEOGDMHJkydx+PBhKBQKzJ8/Hz169EBiYiLat2+PI0eOAAB27NiB0aNHY9y4cXj00UeRlJSEL774AoWFhQDuHMyIj49HaGgoBg0ahFdeeQUffPBBq+VORNQSJhexRUVFCAoK+tU+gwYNknZ2RET0s5CQEBw/fhyRkZHw9PREWloaJk+ejKVLl7bqCbHOzs5wcXHBvn37UFNTg4KCApw7dw59+vSBRqNBSEgIBEEAcOeyiAMGDEBWVhYAQKPRIDQ0VHquTp06wc/PDxqNBlevXkVxcTEGDhxotE5FRUUoLS1ttfyJiExl8oldSqUSRUVF6Ny5c7N9SkpK4OHh0Rp5ERHZHFdXV7i6ugIAfH198eyzz7b6aygUCixcuBDLli3D9u3bUVdXh6ioKEycOBGfffYZevbsadRfqVQi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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "sns.histplot(cleaned_house_price, x='area', ax=axes[0])\n",
    "sns.boxplot(cleaned_house_price, y='area', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "面积的分布与房价相似，也呈右偏态分布。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 房价与面积的关系"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.968847500Z",
     "start_time": "2024-04-07T14:57:55.440525700Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 700x350 with 1 Axes>",
      "image/png": "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vPLKK+L73/++WLJkiXj55ZeFEJPHZhSyJWD79u1i4cKFYnBwMPHYI488IlavXi2eeuopsWzZssRNUQghLr30UnHnnXcKIYT493//d/G+970v8Vw4HBa9vb2JE/OSSy5JvFYIITZu3ChOPvlkEQ6HS71bZePIkSPizDPPFO9+97sTQvahhx4Sa9asSVzMLcsSZ599duJC9qlPfSrxWiGE2Lt3rzjxxBPFrl27hBBCnHXWWSkXvYcffli89a1vLdculZQjR46IxYsXi/Xr1yceu/vuu8WnP/1p2s2Do0ePioULFyYu6EIIceWVV4qbb76ZNktjYGBA/NVf/ZW44IILUm6SpbyWjYyMiJ6enhQR841vfCNle9WOl93++7//W5x77rkpr73hhhvEJz7xCSEE7eZlNwfHMXT66aenfM8m8r3cuXOnWLhwodi9e3fi+c985jMp26tmvGz2q1/9SqxYsUIcO3Ys8dqPfOQj4gc/+IEQYvLYjKkFJaC5uRnf+ta3MHv27JTHh4eHsXnzZixevBh1dXWJx1esWIHnn38eALB582b09fUlnguFQliyZAmef/55mKaJF154IeX5ZcuWIRaLYdu2baXdqTJyxx134J3vfCeOP/74xGObN2/GihUrIEkSAECSJCxfvtzTbq2trWhra8PmzZtx4MAB7Nu3DytXrkw8v2LFCrz++us4ePBgeXaqhGzatAkNDQ1YtWpV4rHLL78ct99+O+3mQTAYRCgUwk9+8hPEYjG8+uqr+NOf/oTu7m7aLI0NGzagv78fDz74YMrjpbyWbdu2DfF4HL29vSnb3rx5c82kaXjZzUk1S2d4eBgA7eZlN8AOnd9www248cYboWlaynMT+V5u3rwZra2taG9vT3n+ueeeK8EeFh8vm23YsAGnnnoqGhoaEo/9f//f/4e/+Zu/ATB5bBYo+ydOAZqamnDGGWck/rYsC9/73vdwyimnYHBwEHPmzEl5/axZs7B//34A8H1+aGgI0Wg05flAIIDp06cn3l/rPP3003j22WfxyCOP4Kabbko8Pjg4mCJsAdsuAwMDAICDBw962m1wcBAAUp53fmTs378/4321xu7duzFv3jw8/PDDuOuuuxCLxXDRRRfhIx/5CO3mga7ruPHGG3Hrrbfi/vvvh2mauOiii/Ce97wHv/71r2mzJC655BLXx0t5LZNlGTNm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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.scatterplot(cleaned_house_price, x='area', y='price')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从散点图来看，能大致看出一些正相关关系，但关系的强度需要后续通过计算相关性来得到。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 卧室数与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:55.968847500Z",
     "start_time": "2024-04-07T14:57:55.579656500Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 700x350 with 2 Axes>",
      "image/png": "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hYaGevVAUJwVK1bogw8+0Lp167Ru3Tr17NlTPXv21Lp168wuzSNffvmloqOjlZOT45q3a9cuhYSEWO69iYyMVG5urn766SfXvL179xYZyFG5WXVctfIYauUx08rjozeOhwTZSiQ9PV0LFy7UAw88oI4dOyorK8v1sKJ27dqpTZs2mjhxotLS0rRx40YlJibqoYceMrs0t9WvX18NGzZ0PWrUqKEaNWqoYcOGZpfmkaioKAUEBOipp57S3r17tXHjRs2cOVP333+/2aW5rUmTJurevbsmTJig3bt368svv9TixYs1ZMgQs0uDF7DyuGrlMdTKY6aVx0dvHA85tKAS2bBhg/Lz87Vo0SItWrSoyLI9e/aYVJXn/Pz8tHDhQsXHx+vOO+9UYGCghg0bpuHDh5tdWqUXFBSkpUuXasaMGRo8eLBq1Kihu+66yxIDdXFmzZql+Ph4DRkyRIGBgfrrX/+qYcOGmV0WvICVx1XGUHNYfXz0tvHQZnCfRQAAAFgQhxYAAADAkgiyAAAAsCSCLAAAACyJIAsAAABLIsgCAADAkgiyAAAAsCSCLAAAACyJIAsAAABLIsjCkg4cOKCWLVvqwIEDZbK9li1basuWLWWyLQDwVoyd8DUEWQAAAFgSQRYAAACWRJCFpf3rX//SH//4R1133XWaMmWKHA6HJOm7775TTEyM2rdvrwEDBmj9+vVF1ps/f766dOmi6OhorVmzpsiynj17KjExUTfffLMGDRokwzCUnp6u++67T9ddd526du2q+fPny+l0utb5/PPPddttt6l9+/bq16+f/v3vf7uWDRs2TEuXLtW9996r9u3b6/bbb9f+/fs1efJkRUVF6ZZbbtHWrVtd7WfPnq2bb75Z7du317Bhw5SamloePzoAlRhjJ3yGAVhQRkaG0aJFC6N3797Gd999Z2zZssXo1q2bMW/ePOPXX381rrvuOmPFihXGvn37jHXr1hkdOnQwvv32W8MwDGP16tXG9ddfb3z22WfGzp07jTvvvNNo0aKFsXnzZsMwDKNHjx5G165djd27dxu7du0yjhw5YnTu3Nl48sknjbS0NOOTTz4xoqOjjddff90wDMP4+uuvjTZt2hivv/66sXfvXuO1114zrr32WuP77783DMMw7r77biMqKsr4+OOPjdTUVOOWW24xOnXqZMydO9dIS0szRo0aZQwYMMAwDMP497//bXTu3Nn49ttvjf379xt///vfjcGDB1f8DxiAT2LshK8hyMKSCgbjzz//3DXvvffeM2688UZjzpw5xpgxY4q0T0hIcM2LiYkx5s+f71qWmpp60WCcmJjoWr5s2TKjW7duRl5enmveW2+9Zdx0002GYRjG6NGjjccee6zI6/397383Hn30UcMwzg/GhZfPnDnT6N69u+F0Og3DMIwvvvjCaNOmjWEYhvH6668bN910k3Hw4EHDMAzjyJEjri8RACgtxk74Gg4tgKW1b9/eNX3ttdcqOztb27Zt0+eff66oqCjXY+XKldq3b58kKT09Xa1bt3at16xZM1WvXr3IduvXr++aTk9PV5s2bVSlShXXvKioKGVlZenEiRNKT08vUkfB8vT0dNfzBg0auKarVaumiIgI2Ww21/O8vDxJ0p///GdVq1ZNf/rTnzRkyBC9//77at68uac/HgAoFmMnfEWVKzcBvJfd/vvfYoZhuOYNGDBADz30UJG2hQfTgrbFLZOkgICAYqcLFBzjlZ+ff8nlhY8Du3D7hesuLDw8XP/v//0/ffXVV/r888+1dOlSvfPOO1q3bp0CAwOLXQcA3MXYCV/BHllY2o8//uia3r59u/7whz/o2muv1f79+9WwYUPXY8OGDfrggw8kSc2bN9f333/vWu/AgQM6ceLEJV+jcePG+uGHH1x/+UvStm3bFBoaqpCQEDVu3FgpKSlF1tm2bZsaN27sdn+++OILrVmzRt27d9czzzyjf/zjH9q3b1+RfgJAaTF2wlcQZGFp8fHxSklJ0VdffaV58+ZpxIgRGjp0qHbs2KE5c+Zo3759+uCDDzR79mxFRERIku6++24tX75c69ev148//qhJkyZd8q98SRowYIAcDoemTJmi9PR0ffrpp3rppZc0ZMgQ2Ww2jRgxQuvXr9eyZcu0b98+vfHGG/rkk080ZMgQt/vjdDo1c+ZMffLJJzpw4IDee+89BQYGqlGjRp7+iADgIoyd8BUcWgBLGzJkiB5++GHl5eXpjjvu0D333CO73a6XX35Zs2bN0tKlS1WvXj09+eST+r//+z9J0sCBA3X06FHFx8fr7Nmzio2N1e7duy/5GkFBQVqyZImmT5+uQYMGKTQ0VPfcc48efPBBSVJkZKRmzpypl156SYmJiWrcuLHmzp2rLl26uN2fnj17Ki4uTgkJCcrKylKTJk20cOFC1apVy7MfEAAUg7ETvsJmXHjACwAAAGABHFoAAAAASyLIAgAAwJIIsgAAALAkgiwAAAAsiSALAAAASyLIAgAAwJIIsgAAALAkgiwAAAAsiSALAAAASyLIAgAAwJIIsgAAALAkgiwAAAAs6f8Dgk7VJw9fupQAAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "sns.histplot(cleaned_house_price, x='bedrooms', ax=axes[0])\n",
    "sns.barplot(cleaned_house_price, x='bedrooms', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "此数据集中房子的卧室数范围为1-6个，其中大多房子有2-4个。\n",
    "\n",
    "从平均房价与卧室数之间的柱状图来看，当卧室数小于5个时，卧室数多的房子价格也相应高，但一旦多于5个，房价并不一定相应更高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 洗手间数与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:56.248562300Z",
     "start_time": "2024-04-07T14:57:55.817775500Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 700x350 with 2 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArIAAAFUCAYAAADYjN+CAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGUklEQVR4nO3de1xUdf4/8NcMIxdF4iKwgqZ5R8QRYcVWDHG9/3RFyEwrMyt0E2lTM9GvihdExDTJe+qmoWZeSzOt1LXNvEUCS4oLWIoiOqPgDZgB5vz+IGYduTgDA2cOvJ6PxzwezDmfOed9PtFnXh4+5xyZIAgCiIiIiIgkRi52AURERERENcEgS0RERESSxCBLRERERJLEIEtEREREksQgS0RERESSxCBLRERERJLEIEtEREREksQgS0RERESSxCBLRERERJLEIEtERGan1WoxfPhwnD171qj2/fv3R+fOnSu8Vq9eXceVEpGUKcQugIiIGhaNRoPp06cjIyPD6M/s2bMHpaWl+vdHjx7FRx99hFGjRtVFiUTUQDDIEhGR2WRmZmL69OkQBMGkzzk7O+t/fvDgAdasWYMPPvgAnp6e5i6RiBoQTi0gIiKzOXfuHAICArBr164K637++WeEhoaie/fuGDFiBI4ePVrpNjZv3gxXV1eEhYXVdblEJHE8I0tERGYzbty4SperVCpMmjQJ7733Hvr27Yvk5GTMmjULLi4u8Pf317crLCxEYmIiFi5cCLmc51qIqHoMskREVOe2b9+Ov/zlL3j11VcBAG3atMGlS5ewdetWgyB7+PBhNG3aFIMGDRKrVCKSEAZZIiKqc1euXMGJEyfg6+urX1ZcXIznnnvOoN3Ro0cxbNgwKBT8eiKip+NIQUREda6kpAQjRozA5MmTDZY/Hli1Wi3OnTuH8PDw+i6PiCSKE5CIiKjOPffcc7h69SratGmjfx07dgwHDx7Ut7l8+TJKSkrQvXt3ESslIilhkCUiojo3btw4pKWlYeXKlfj9999x8OBBrFixAh4eHvo2GRkZaNWqFaytrUWslIikhFMLiIioznl6emL9+vVYvnw5Nm/eDHd3d8yaNQt/+9vf9G3UajWeeeYZEaskIqmRCabetZqIiIiIyAJwagERERERSRKDLBERERFJEoMsEREREUkSgywRERERSVKjv2vBnTsPYMzlbjIZ4OLS3Oj2VD32p3mxP83L1P4sb9/Y8fePiMzBlDG10QdZQYBJA6+p7al67E/zYn+aF/vTNOwvIqpvnFpARERERJLEIEtEREREksQgS0RERESSxCBLRERERJLEIEtEREREkmQxQTY8PByzZs3Sv7948SJGjx4NpVKJsLAwpKWlGbQ/dOgQBgwYAKVSiSlTpuDu3bv1XTIRERERicgiguzXX3+NkydP6t8XFBQgPDwc/v7+2LdvH3x9fTFp0iQUFBQAAFJTUzFnzhxERERg165duH//PqKiosQqn4iIiIhEIHqQzc/Px7Jly+Dj46NfdvjwYdjY2GDmzJlo37495syZg2bNmuHIkSMAgMTERAwdOhQhISHo0qULli1bhpMnTyI7O1uswyAiIiKieiZ6kI2Li8PIkSPRoUMH/bKUlBT4+flBJpMBAGQyGXr27Ink5GT9en9/f337li1bwsPDAykpKfVaOxERERGJR9Qne50+fRo///wzDh48iOjoaP1ylUplEGwBwMXFBRkZGQCA27dvw83NrcL63Nxck2v4Iysb3U6hkJvlyTWCIECna7yPwCnvT2P7n6rH/jQvU/vT0vtdq9UiNDQUc+fORUBAQKVt/vWvf2HlypW4du0aWrVqhX/84x/461//Ws+VEtGT5HIZ5HILH2RqSKerfRYSLchqNBrMnz8f8+bNg62trcG6wsJCWFtbGyyztraGVqsFABQVFVW73hSmPB9dEAQ4OjYzeR9VbUtm6d9+9YDPpzcv9qd5NYT+1Gg0mD59uv5EQGXS09MRERGBmTNnIigoCD/++CPeffdd7NmzB126dKnHaonocXK5DM5OTSGTi/4H9Doh6HS4m1dQqzArWpBdvXo1unXrhr59+1ZYZ2NjUyGUarVafeCtar2dnZ3Jddy588CoM6wKhRyOjs1w4VoRHmh0Ju/ncc1t5PB91hZ5eY9QWlq7bUmVTFYWEoztf6oe+9O8TO3P8vaWJjMzE9OnT4fwlIM4dOgQevfujfHjxwMA2rRpg+PHj+Obb75hkCUSkVwug0wuR9HZM9A9uC92OWYlb+4A24DekMtl0gyyX3/9NdRqNXx9fQFAH0yPHj2K4cOHQ61WG7RXq9X66QTu7u6Vrnd1dTW5DkGAUV9U5W0eaHS4X2i+8NnYQ4ex/U/GYX+al9T789y5cwgICMB7772HHj16VNlu1KhRKC4urrD8wYMHdVgdERlL9+A+dPl5YpdhkUQLsp999hlKSkr075cvXw4AmDFjBs6fP49PPvlE/+d3QRDwyy+/YPLkyQAApVKJpKQkhIaGAgBu3ryJmzdvQqlU1v+BEBFZqHHjxhnVrn379gbvMzIycPr0abz88st1URYRkdmIFmQ9PT0N3jdrVjb3tE2bNnBxccGHH36ImJgYvPzyy/j8889RWFiIoUOHAgDGjh2L1157DT169ICPjw9iYmLQr18/tG7dut6Pg4ioIbl79y6mTp2Knj17mnyxF6f9E1FNPDl2mDKWiHrXgqrY29tjw4YNmD9/Pr744gt07twZGzduRNOmTQEAvr6+WLhwIRISEnDv3j306dMHixYtErlqIiJpU6vVeOONNyAIAhISEiA38QITS5wnTESWzcmpdhfRW0yQXbp0qcH77t27Y//+/VW2Dw0N1U8tICKi2rl165b+Yq9t27bB2dnZ5G3wYkMi87Kyktc66Fm6yi58N+UCWosJskREJI6CggK89dZbkMvl2LZtW40unAWkf3EcEYmjNuMGgywRUSOkUqnQvHlz2NraYsOGDbh27Ro+++wz/ToAsLW1RfPmnC5ARJarYd5hl4iIqhUYGIjDhw8DKLvtYVFREUaPHo3AwED9KyYmRuQqiYiqxzOyRESNwOXLl6t8f+TIkfouh4jILHhGloiIiIgkiUGWiIiIiCSJQZaIiIiIJIlBloiIiIgkiUGWiIiIiCSJQZaIiIiIJIlBloiIiIgkiUGWiIiIiCSJQZaIiIiIJIlBloiIiIgkiUGWiIiIiCSJQZaIiIiIJIlBloiIiIgkiUGWiIiIiCSJQZaIiIiIJEnUIHv16lW8+eab8PX1Rb9+/bBp0yb9usWLF6Nz584Gr8TERP36Q4cOYcCAAVAqlZgyZQru3r0rxiEQERERkUgUYu1Yp9MhPDwcPj4+2L9/P65evYpp06bB3d0dI0aMQFZWFqZPn45Ro0bpP2Nvbw8ASE1NxZw5c7BgwQJ06dIFMTExiIqKwoYNG8Q6HCIiIiKqZ6KdkVWr1fDy8kJ0dDTatm2LoKAgPP/880hKSgIAZGVloWvXrnB1ddW/7OzsAACJiYkYOnQoQkJC0KVLFyxbtgwnT55Edna2WIdDRERERPVMtCDr5uaGjz76CPb29hAEAUlJSTh//jx69eqFhw8f4tatW2jbtm2ln01JSYG/v7/+fcuWLeHh4YGUlJR6qp6IiIiIxCba1ILH9e/fHzk5OQgODsbgwYORlpYGmUyG9evX44cffoCjoyPeeOMN/TSD27dvw83NzWAbLi4uyM3NNXnfMpl529XV/hua8uNurMdvbuxP8zK1P9nvRETisIggm5CQALVajejoaMTGxsLb2xsymQzt2rXDq6++ivPnz2Pu3Lmwt7fHwIEDUVRUBGtra4NtWFtbQ6vVmrxvF5fmJrVXKORo0qR231oKRdnnnZya1Wo7DYGp/U/VY3+aF/uTiMiyWUSQ9fHxAQBoNBrMmDEDv/zyC4KDg+Ho6AgA6NKlC37//Xfs3LkTAwcOhI2NTYXQqtVq9XNoTXHnzgMIwtPbKRRyODo2Q0mJDsXFOpP387gSRdmMjry8Rygtrd22pEomKwsJxvY/VY/9aV6m9md5eyIiql+iBVm1Wo3k5GQMGDBAv6xDhw4oLi7Gw4cP4ezsbNC+Xbt2OHPmDADA3d0darW6wvZcXV1NrkMQYNQXVV2Fg8YeOoztfzIO+9O82J9ERJZNtIu9rl+/joiICNy6dUu/LC0tDc7Ozvjss88wYcIEg/bp6elo164dAECpVOrvbgAAN2/exM2bN6FUKuuldiIiIiISn2hB1sfHB97e3pg9ezYyMzNx8uRJxMfHY/LkyQgODsb58+exefNmXLt2DTt27MCBAwcwceJEAMDYsWPx5ZdfYvfu3UhPT8fMmTPRr18/tG7dWqzDISIiIqJ6JtrUAisrK6xduxaLFi3CmDFjYGdnh9deew3jx4+HTCbDqlWrkJCQgFWrVsHT0xMffvghfH19AQC+vr5YuHAhEhIScO/ePfTp0weLFi0S61CIiIiISASiXuzl7u6O1atXV7puwIABBvNnnxQaGorQ0NC6Ko2IiIiILJxoUwuIiIiIiGqDQZaIiIiIJIlBloiogdNqtRg+fDjOnj1bZZuLFy9i9OjRUCqVCAsLQ1paWj1WSERUMwyyREQNmEajwbRp05CRkVFlm4KCAoSHh8Pf3x/79u2Dr68vJk2ahIKCgnqslIjIdAyyREQNVGZmJl566SVcu3at2naHDx+GjY0NZs6cifbt22POnDlo1qwZjhw5Uk+VEhHVDIMsEVEDde7cOQQEBGDXrl3VtktJSYGfnx9kMhkAQCaToWfPnkhOTq6HKomIak7U228REVHdGTdunFHtVCoVOnToYLDMxcWl2ukIlfkjBxMRmeTJscOUsYRBloiokSssLIS1tbXBMmtra2i1WpO24+LS3JxlEVEj4OTUrFafZ5AlImrkbGxsKoRWrVYLW1tbk7Zz584DCII5KyNq3Kys5LUOepYuL+8RSkt1BstkMuP/YcwgS0TUyLm7u0OtVhssU6vVcHNzM2k7ggAGWSIyWW3GDV7sRUTUyCmVSly4cAHCH98mgiDgl19+gVKpFLkyIqLqMcgSETVCKpUKRUVFAIAhQ4bg/v37iImJQWZmJmJiYlBYWIihQ4eKXCURUfUYZImIGqHAwEAcPnwYAGBvb48NGzYgKSkJoaGhSElJwcaNG9G0aVORqyQiqh7nyBIRNQKXL1+u9n337t2xf//++iyJiKjWeEaWiIiIiCSJQZaIiIiIJIlBloiIiIgkiUGWiIiIiCSJQZaIiIiIJEnUIHv16lW8+eab8PX1Rb9+/bBp0yb9uuzsbEyYMAE9evTAsGHD8OOPPxp89qeffsLw4cOhVCoxfvx4ZGdn13f5RERERCQi0YKsTqdDeHg4nJycsH//fixYsADr1q3DwYMHIQgCpkyZghYtWmDv3r0YOXIkIiIikJOTAwDIycnBlClTEBoaij179sDZ2RnvvPOO/qk0RERERNTwiXYfWbVaDS8vL0RHR8Pe3h5t27bF888/j6SkJLRo0QLZ2dn4/PPP0bRpU7Rv3x6nT5/G3r17MXXqVOzevRvdunXDxIkTAQCxsbHo06cPzp07h4CAALEOiYiIiIjqkWhnZN3c3PDRRx/B3t4egiAgKSkJ58+fR69evZCSkoKuXbsaPFXGz88PycnJAICUlBT4+/vr19nZ2cHb21u/noiIiIgaPot4slf//v2Rk5OD4OBgDB48GEuWLIGbm5tBGxcXF+Tm5gIoe0Z4detNIZOZt11d7b+hKT/uxnr85sb+NC9T+5P9TkQkDosIsgkJCVCr1YiOjkZsbCwKCwthbW1t0Mba2hparRYAnrreFC4uzU1qr1DI0aRJ7b61FIqyzzs5NavVdhoCU/ufqsf+NC/2JxGRZbOIIOvj4wMA0Gg0mDFjBsLCwlBYWGjQRqvVwtbWFgBgY2NTIbRqtVo4ODiYvO87dx7AmGvEFAo5HB2boaREh+Jincn7eVyJomxGR17eI5SW1m5bUiWTlYUEY/ufqsf+NC9T+7O8PRER1S9RL/ZKTk7GgAED9Ms6dOiA4uJiuLq64sqVKxXal08ncHd3h1qtrrDey8vL5DoEAUZ9UdVVOGjsocPY/ifjsD/Ni/1JRGTZRLvY6/r164iIiMCtW7f0y9LS0uDs7Aw/Pz/8+uuvKCoq0q9LSkqCUqkEACiVSiQlJenXFRYW4uLFi/r1RERERJXJybmBJUuisWRJNHJybohdDtWSaEHWx8cH3t7emD17NjIzM3Hy5EnEx8dj8uTJ6NWrF1q2bImoqChkZGRg48aNSE1NxYsvvggACAsLwy+//IKNGzciIyMDUVFRaNWqFW+9RURERNXaunUzUlOTkZqajG3bNotdDtWSaEHWysoKa9euhZ2dHcaMGYM5c+bgtddew/jx4/XrVCoVQkND8dVXX2HNmjXw8PAAALRq1Qoff/wx9u7dixdffBH5+flYs2YNZLx0mIiIiKpx48b/ngR6/TqfCip1ol7s5e7ujtWrV1e6rk2bNkhMTKzys0FBQQgKCqqr0oiIiIjIwol2RpaIiIiIqDYYZImIiIhIkhhkiYiIiEiSGGSJiIiISJIYZImIiIhIkhhkiYiIiEiSGGSJiIiISJIYZImIiIhIkhhkiYiIiEiSGGSJiIiISJIYZImIiIhIkhhkiYiIiEiSGGSJiBoojUaD2bNnw9/fH4GBgdiyZUuVbb/77jsMHToUvr6+GDt2LH799dd6rJSIqGYYZImIGqhly5YhLS0NW7duxfz587F69WocOXKkQruMjAxMnz4dkyZNwpdffgkvLy9MmjQJhYWFIlRNRGQ8BlkiogaooKAAu3fvxpw5c+Dt7Y2BAwfirbfewvbt2yu0PXXqFDp06ICQkBA8++yzmDZtGlQqFTIzM0WonIjIeAyyREQNUHp6OkpKSuDr66tf5ufnh5SUFOh0OoO2jo6OyMzMRFJSEnQ6Hfbt2wd7e3s8++yz9V02EZFJFGIXQERE5qdSqeDk5ARra2v9shYtWkCj0SA/Px/Ozs765cOGDcPx48cxbtw4WFlZQS6XY8OGDXjmmWdM2qdMZrbyierM47+nMhl/by3Bk/8NTPlvwiBLRNQAFRYWGoRYAPr3Wq3WYHleXh5UKhXmzZsHpVKJnTt3IioqCvv374eLi4vR+3RxaV77wonqmFwuN/i5RQv+3orJyalZrT7PIEtE1ADZ2NhUCKzl721tbQ2WL1++HJ06dcIrr7wCAFi0aBGGDh2KvXv3Ijw83Oh93rnzAIJQy8KJ6tjjU2t0Oh3U6gciVlM9Kyt5rYOepcvLe4TSUsPpTjKZ8f8wFnWO7K1btxAZGYlevXqhb9++iI2NhUajAQAsXrwYnTt3NnglJibqP3vo0CEMGDAASqUSU6ZMwd27d8U6DCIii+Pu7o68vDyUlJTol6lUKtja2sLBwcGg7a+//oouXbro38vlcnTp0gU5OTkm7VMQ+OJLGi+p/M42FrU5dtGCrCAIiIyMRGFhIbZv346VK1fixIkT+OijjwAAWVlZmD59On788Uf9KywsDACQmpqKOXPmICIiArt27cL9+/cRFRUl1qEQEVkcLy8vKBQKJCcn65clJSXBx8fH4E+rAODm5oasrCyDZb/99htatWpVH6USEdWYaEH2ypUrSE5ORmxsLDp27Ah/f39ERkbi0KFDAMqCbNeuXeHq6qp/2dnZAQASExMxdOhQhISEoEuXLli2bBlOnjyJ7OxssQ6HiMii2NnZISQkBNHR0UhNTcX333+PLVu2YPz48QDKzs4WFRUBAF566SV88cUXOHDgAK5evYrly5cjJycHo0aNEvMQiIieSrQ5sq6urti0aRNatGhhsPzhw4d4+PAhbt26hbZt21b62ZSUFLz99tv69y1btoSHhwdSUlLQunXruiybiEgyoqKiEB0djddffx329vaYOnUqBg0aBAAIDAxEbGwsQkNDMWzYMDx69AgbNmxAbm4uvLy8sHXrVpMu9CIiEoNoQdbBwQF9+/bVv9fpdEhMTETv3r2RlZUFmUyG9evX44cffoCjoyPeeOMN/dmB27dvw83NzWB7Li4uyM3NNbkOY2/xUFe352ist/0oP+7Gevzmxv40L1P701L73c7ODnFxcYiLi6uw7vLlywbvR48ejdGjR9dXaUREZmExdy2Ij4/HxYsXsWfPHvz666+QyWRo164dXn31VZw/fx5z586Fvb09Bg4ciKKiokpvK/PkFbrGMPV2MQqFHE2a1O5bS6Eo+3xDvxLRGLxdj3mxP82L/UlEZNksIsjGx8dj69atWLlyJTp16oSOHTsiODgYjo6OAIAuXbrg999/x86dOzFw4MAqbytTPofWFMbeLkahkMPRsRlKSnQoLtY9/QPVKFGUTU2u7JYTjUX5rTV4ux7zYH+al6n9acqtYoiIyHxED7KLFi3Czp07ER8fj8GDBwMAZDKZPsSWa9euHc6cOQOg7LYyarXaYL1arYarq6vJ+zf2Ng91FQ4ae+hobLcYqWvsT/NifxIRWTZR7yO7evVqfP7551ixYgX+3//7f/rlq1atwoQJEwzapqeno127dgAApVKJpKQk/bqbN2/i5s2bUCqV9VI3EREREYlPtCCblZWFtWvX4u2334afnx9UKpX+FRwcjPPnz2Pz5s24du0aduzYgQMHDmDixIkAgLFjx+LLL7/E7t27kZ6ejpkzZ6Jfv368YwERERFRIyLa1IJjx46htLQU69atw7p16wzWXb58GatWrUJCQgJWrVoFT09PfPjhh/D19QUA+Pr6YuHChUhISMC9e/fQp08fLFq0SIzDICIiIiKRiBZkw8PDq32G94ABAzBgwIAq14eGhiI0NLQuSiMiIiIiCRD9Yi8iIiIiuVwGubzub8ose+zGzzKZDApF/cyy1OkE6HS8etTczB5k7969C2dnZ3NvloiIiBoouVwGJ6emkMvrPlQ+HpbL9ls/93TX6XTIyytgmDWzGgVZLy8vnDp1qkJgvXHjBoYPH44LFy6YpTgiIiJq+MrOxspxLPc08rX363RfBSWFBj/vvXa0TvcHAI7WDvjrn56HXC5jkDUzo4PsgQMHsG/fPgCAIAiYMmUKmjRpYtDm9u3bNbqXKxEREVG+9j7Umrw63UepoDP4ua73R3XL6CA7cOBAXL9+HQBw7tw59OjRA82aGZ6Ob9q0KQYOHGjeComIiIiIKmF0kG3WrBkiIiIAAJ6enhg2bBhsbGzqrDAiosYsIyMDv//+O/r06YM7d+6gVatWBhepEBFRDefIjho1ClevXkVaWhqKi4srrA8JCaltXUREjdK9e/fw7rvv4ty5cwCAo0ePIiYmBtnZ2di4cSM8PT1FrpCIyHLUKMhu2rQJy5cvxzPPPFNheoFMJmOQJSKqocWLF8POzg5nzpxBUFAQAGDJkiV4//33sXjx4goPkCEiasxqFGS3bNmC999/H2+++aa56yEiatT+/e9/47PPPoODg4N+mbOzM6KiovDyyy+LWBkRkeWp0Q3bNBoNBg0aZO5aiIgIZWPsk+7evQuFgs+wISJ6XI2C7IgRI7Bjxw4IAu+FRkRkTsOHD0dMTAwyMjIgk8lQUFCAM2fOYO7cuRg2bJjY5RERWZQa/fP+4cOH2LNnDw4dOoRWrVpVuJ/stm3bzFIcEVFjM3PmTKxYsQKhoaEoLi5GSEgI5HI5Ro8ejZkzZ4pdHhGRRalRkG3bti0mT55s7lqIiBo9a2trzJo1C//4xz+QnZ2N0tJSPPvss2jatKnYpRERWZwaBdny+8kSEZF55efnY/78+ejYsaN+rA0KCkLPnj2xcOFCNG/eXOQKiYgsR42CbFRUVLXrY2Nja1QMEVFjN3/+fNy5cweRkZH6ZevXr8eSJUuwePFixMXFiVgdSU1Ozg18+uknAIAJE96GhwfvQ0wNS40u9npSSUkJfvvtNxw+fBjOzs7m2CQRUaN06tQpLFiwAO3bt9cv8/Lywrx583DixAkRKyMp2rp1M1JTk5Gamoxt2zaLXQ6R2dXojGxVZ1w3bdqE//73v7UqiIioMbO1tUVubq5BkAV4+y2qmRs3svU/X7+eXU1LImky66g4ZMgQrFmzxpybJCJqVEJDQzF79my899578Pb2BgCkp6dj1apVGDlypMjVERFZFrMF2YKCAnzxxRdwcnIy1yaJiBqdd999F4IgYOnSpcjPzwcAODk54bXXXkN4eLi4xRERWZgaBdkuXbpAJpNVWG5jY4PFixcbvZ1bt24hJiYGZ86cgY2NDYYNG4Zp06bBxsYG2dnZmDt3LpKTk+Hh4YHZs2cjMDBQ/9mffvoJS5YsQXZ2NpRKJWJiYtC6deuaHA4RkcWwsrLC9OnTMX36dNy9exdNmjThnQqIiKpQoyD75AMPZDIZmjRpgg4dOsDe3t6obQiCgMjISDg4OGD79u24d+8eZs+eDblcjpkzZ2LKlCno1KkT9u7di++//x4RERE4fPgwPDw8kJOTgylTpmDq1Kno27cv1qxZg3feeQdfffVVpQGbiMiSHThwAMOGDYO1tTUOHDhQbduQkJB6qYmISApqFGR79eoFAPj999+RlZUFnU6H5557zugQCwBXrlxBcnIyTp06hRYtWgAAIiMjERcXhxdeeAHZ2dn4/PPP0bRpU7Rv3x6nT5/G3r17MXXqVOzevRvdunXDxIkTAZRdfNanTx+cO3cOAQEBNTkkIiLRJCQkICgoCNbW1khISKiynUwmMynIajQaLFiwAN9++y1sbW0xceJE/bj5pMuXLyM6Ohq//vor2rRpgzlz5qB3796mHgoZSS6XQS6v+xMvj5/ckclkUCjMcrOip9LpBOh0fIw91b0aBdn79+8jKioKx44dwzPPPIPS0lI8evQIf/7zn7FmzRqj/gzm6uqKTZs26UNsuYcPHyIlJQVdu3Y1eJKNn58fkpOTAQApKSnw9/fXr7Ozs4O3tzeSk5MZZIlIco4fP67/OS4uDt27d4eNjU2tt7ts2TKkpaVh69atyMnJwQcffAAPDw8MGTLEoN2DBw8wceJE9O/fH0uXLsWXX36JiIgIHD16FC4uLrWugwzJ5TI4OzWFTF73ofLxsCyXy+Dk1KzO9wkAgk6Hu3kFDLNU52oUZBcvXozc3FwcPnwY7dq1AwBkZmZi1qxZiI2NxZIlS566DQcHB/Tt21f/XqfTITExEb1794ZKpYKbm5tBexcXF+Tm5gLAU9ebwtiZCHU1Y6GxzoQoP+7Gevzmxv40L1P705z9HhERgW3btqFz58612k5BQQF2796NTz75BN7e3vD29kZGRga2b99eIcju378fTZs2RXR0NKysrBAZGYmTJ08iLS0NQUFBtaqDKpLLZZDJ5XiUchS6R3l1ui+d5pHBzw9++rxO9wcA8mZOaKYcDLlcxiBLda5GQfb48eP45z//qQ+xANChQwfMmzcPb7/9do0KiY+Px8WLF7Fnzx58+umnsLa2NlhvbW0NrVYLACgsLKx2vSlcXEy7iEKhkKNJk9p9aykUZZ+vr38ZWzJT+5+qx/40LzH6s2PHjkhJSal1kE1PT0dJSQl8fX31y/z8/LB+/XrodDrIHzsbeO7cOfz1r3+FlZWVftnevXtrtX96Ot2jPJTeV9XxTkoNfq7z/RHVsxoFWRsbG4NBsJxMJkNpaWkln6hefHw8tm7dipUrV6JTp06wsbHR33amnFarha2trX7/T4ZWrVYLBwcHk/d9584DCEb8g1GhkMPRsRlKSnQoLtaZvJ/HlfwxRykv7xFKS2u3LamSycpCgrH9T9Vjf5qXqf1Z3t4cnnnmGcybNw8JCQlo1apVhX+0P3mxbVVUKhWcnJwMPt+iRQtoNBrk5+cbPIUxOzsb3bt3x9y5c3H8+HF4enrigw8+gJ+fn1mOiYiortQoyPbv3x8LFizA8uXL8eyzzwIou/Br8eLFJv8ZatGiRdi5cyfi4+MxePBgAIC7uzsyMzMN2qnVav10And3d6jV6grrvby8TD4WQYBRX1R1FQ4ae+gwtv/JOOxP8xKjP728vODl5QVBEJCfnw+ZTAZHR0eTt1PVX64AVDgRUFBQgI0bN2L8+PH45JNP8PXXX+PNN9/EN998g5YtWxq9T05toSfxd6Ii9klFT/aJKX1UoyD7/vvvY8qUKRg8eLD+LOi9e/fwwgsvYO7cuUZvZ/Xq1fj888+xYsUKgzlbSqUSGzduRFFRkf4sbFJSkv7sgFKpRFJSkr59YWEhLl68iIiIiJocDhGRxfj73/+OhIQE7N69G3fv3gVQ9o/3V155xaQHIlT1lysA+nG1nJWVFby8vBAZGQkA6Nq1K06dOoUvv/wSkydPNnqfnNpCj+P0uYrYJxXVtk9MDrJXr16Fh4cHPvvsM1y+fBlZWVmwsbFB27ZtKzwbvDpZWVlYu3YtwsPD4efnB5Xqf/N2evXqhZYtWyIqKgrvvPMOTpw4gdTUVMTGxgIAwsLCsHnzZmzcuBHBwcFYs2YNWrVqxTsWEJHkxcXF4ejRo5gxYwa6desGnU6H//znP0hISIBWqzX6H+zu7u7Iy8tDSUkJFIqyoV6lUsHW1rbCNCxXV1eDax4AoG3btrh586ZJtXNqi3GsrOSNItCYMn2OfVK5xtAvlfWJKdO1jL73hyAIWLx4MYYOHYoLFy4AADp37oxhw4Zh7969GD58OJYuXQrByFHs2LFjKC0txbp16xAYGGjwsrKywtq1a6FSqRAaGoqvvvoKa9asgYeHBwCgVatW+Pjjj7F37168+OKLyM/Px5o1a/gwBCKSvP379yM+Ph6hoaHo1KkTunTpgtGjRyMuLg47duwwejteXl5QKBT62xYCZX/Z8vHxqXCNQ48ePXD58mWDZVeuXIGnp6dJtZdPxeCr+ld9avVYGGjlYvp1JLVliX0iNkv9XRFTbY7d6DOy27Ztw+HDh7FmzRr9AxHKrV27FsePH0dUVBSeffZZjBs37qnbCw8Pr/bPZG3atEFiYmKV64OCgnhbGCJqcOzs7NCkSZMKyx0cHEz6x7qdnR1CQkIQHR2NJUuW4Pbt29iyZYv+L1sqlQrNmzeHra0tXn75ZSQmJuLjjz/G3/72Nxw4cADZ2dkYOXKk2Y6LxPFGfx/ojv3nj5+7iVwNkfkZfUb2iy++wNy5cxEcHFzp+v79+2PGjBnYuXOn2YojImpsZs6cidmzZ+PEiRPIz8/Hw4cP8fPPP2Pu3Ll4/fXXkZOTo389TVRUFLy9vfH6669jwYIFmDp1KgYNGgQACAwMxOHDhwEAnp6e2LRpE06cOIHhw4fjxIkT2LhxI9zd3ev0WKnueTo3x7zRf8G80X+BpzPnMFPDY/QZ2Rs3bqB79+7VtunduzdiYmJqXRQRUWM1Y8YMAGUXfZWfgS2fsnXp0iWsXLkSgiBAJpPh0qVL1W7Lzs4OcXFxiIuLq7DuyakEfn5+2LdvnzkOgYio3hgdZF1cXHDjxo1q50zl5ubW6DYxRERU5tixY2KXQEQkGUYH2YEDB+Ljjz/Gli1bKp2/VVJSgtWrVyMwMNCsBRIRNSamXmBFRNSYGR1k33nnHbz44osIDQ3Fa6+9hm7duqF58+a4d+8efv31VyQmJuLRo0dYtmxZXdZLRERERATAhCDr4OCAL774AsuXL8fSpUtRWFgIoGzuVvPmzTFs2DBMnToVLVq0qLNiiYiIiGrDoaUjCu4+/ONnJ5Grodoy6YEIjo6OWLx4MebNm4fs7Gzcv38fjo6OePbZZ2FlZVVXNRIRERGZRY/Rz+OC8NMfP/cWuRqqrRo9otba2tqkp3gRERERWQKHPzkiKHKY2GWQmRh9H1kiIiIiIkvCIEtEREREksQgS0RERESSxCBLRERERJLEIEtEREREksQgS0RERESSxCBLRERERJLEIEtEREREksQgS0RERESSxCBLRERERJLEIEtEREREkmQRQVar1WL48OE4e/asftnixYvRuXNng1diYqJ+/aFDhzBgwAAolUpMmTIFd+/eFaN0IiIiIhKJ6EFWo9Fg2rRpyMjIMFielZWF6dOn48cff9S/wsLCAACpqamYM2cOIiIisGvXLty/fx9RUVFilE9EREREIlGIufPMzExMnz4dgiBUWJeVlYU333wTrq6uFdYlJiZi6NChCAkJAQAsW7YMwcHByM7ORuvWreu6bCIiIiKyAKKekT137hwCAgKwa9cug+UPHz7ErVu30LZt20o/l5KSAn9/f/37li1bwsPDAykpKXVZLhERERFZEFHPyI4bN67S5VlZWZDJZFi/fj1++OEHODo64o033sCoUaMAALdv34abm5vBZ1xcXJCbm1vnNRMRERGRZRA1yFblypUrkMlkaNeuHV599VWcP38ec+fOhb29PQYOHIiioiJYW1sbfMba2hpardbkfclk5m1XV/tvaMqPu7Eev7mxP83L1P5kvxMRicMig2xISAiCg4Ph6OgIAOjSpQt+//137Ny5EwMHDoSNjU2F0KrVamFnZ2fyvlxcmpvUXqGQo0mT2n1rKRRln3dyalar7TQEpvY/VY/9aV7sTyIiy2aRQVYmk+lDbLl27drhzJkzAAB3d3eo1WqD9Wq1utILw57mzp0HqORaswoUCjkcHZuhpESH4mKdyft5XImibGpyXt4jlJbWbltSJZOVhQRj+5+qx/40L1P7s7w9ERHVL4sMsqtWrcKFCxfw6aef6pelp6ejXbt2AAClUomkpCSEhoYCAG7evImbN29CqVSavC9BgFFfVHUVDhp76DC2/8k47E/zYn9KS07ODXz66ScAgAkT3oaHh6fIFRFRXRP9PrKVCQ4Oxvnz57F582Zcu3YNO3bswIEDBzBx4kQAwNixY/Hll19i9+7dSE9Px8yZM9GvXz/eeouIqBHbunUzUlOTkZqajG3bNotdDhHVA4s8I9u9e3esWrUKCQkJWLVqFTw9PfHhhx/C19cXAODr64uFCxciISEB9+7dQ58+fbBo0SKRqyYiIjHduJGt//n69exqWhJRQ2ExQfby5csG7wcMGIABAwZU2T40NFQ/tYCIiIiIGh+LnFpARES1p9FoMHv2bPj7+yMwMBBbtmx56meuX78OX19fnD171mx1yOUyKBTyOn/JHrsPmkxWP/uUy3nvNSIxWcwZWSIiMq9ly5YhLS0NW7duRU5ODj744AN4eHhgyJAhVX4mOjoaBQUFZqtBLpfByalZvQS+x/dRvt+6ptMJyMt7BJ2OVwUSiYFBloioASooKMDu3bvxySefwNvbG97e3sjIyMD27durDLJfffUVHj16ZNY65HIZ5HIZzmbdx4PCUrNu+0lFj90asahYh+/T8up0f83trBDQ3gFyuYxBlkgkDLJU58q/yCpjZWXa7BadTuAXBpER0tPTUVJSor9IFgD8/Pywfv166HQ6yOWG/+/l5eUhPj4eW7ZswfDhw81ez4PCUuQXlJh9u497fGzQ6YQ63x8RiY9BlurU0/6saOqf/vhnPCLjqFQqODk5GTzOu0WLFtBoNMjPz4ezs7NB+6VLl2LUqFHo2LFjjfcp9qN6Hd088SC/7GE5Tm6t6nXfYh+7pWK/VMQ+qejJPjGljxhkqU6Vn429cK0IDzSGTzFTKOQoKTH+yWbNbeTwfdaWf8YjMkJhYaFBiAWgf//kI75/+uknJCUl4dChQ7Xap9hPN+sz/HWcOvgpAOAvw8fX2375uPHKsV8qYp9UVNs+YZClevFAo8P9QsPQ2qSJrNaP+yWiytnY2FQIrOXvbW1t9cuKioowb948zJ8/32B5TVT2SF8rK3m9fXk7uXpg+MTZ9bKvx5n6uPH67BMxmdIv7JPKNYZ+qaxPTHnsN4MsEVED5O7ujry8PJSUlEChKBvqVSoVbG1t4eDgoG+XmpqK7OxsREZGGnz+7bffRkhICBYuXGj0PhvzI30b63E/DfulIvZJRbXpEwZZIqIGyMvLCwqFAsnJyfD39wcAJCUlwcfHx+BCr+7du+Pbb781+OygQYOwePFi9OnTp15rJiIyFYMsEVEDZGdnh5CQEERHR2PJkiW4ffs2tmzZgtjYWABlZ2ebN28OW1tbtGnTpsLn3d3d4eLiUt9lExGZhE/2IiJqoKKiouDt7Y3XX38dCxYswNSpUzFo0CAAQGBgIA4fPixyhUREtcMzskREDZSdnR3i4uIQFxdXYd3ly5er/Fx164iILAnPyBIRERGRJDHIEhEREZEkMcgSERERkSQxyBIRERGRJDHIEhEREZEkMcgSERERkSQxyBIRERGRJFlEkNVqtRg+fDjOnj2rX5adnY0JEyagR48eGDZsGH788UeDz/z0008YPnw4lEolxo8fj+zs7Poum4iIiIhEJHqQ1Wg0mDZtGjIyMvTLBEHAlClT0KJFC+zduxcjR45EREQEcnJyAAA5OTmYMmUKQkNDsWfPHjg7O+Odd96BIAhiHQYRERER1TNRg2xmZiZeeuklXLt2zWD5mTNnkJ2djYULF6J9+/aYNGkSevTogb179wIAdu/ejW7dumHixIno2LEjYmNjcePGDZw7d06MwyAiIiIiEYgaZM+dO4eAgADs2rXLYHlKSgq6du2Kpk2b6pf5+fkhOTlZv97f31+/zs7ODt7e3vr1RERERNTwKcTc+bhx4ypdrlKp4ObmZrDMxcUFubm5Rq0nIiIiooZP1CBblcLCQlhbWxsss7a2hlarNWq9KWQy87arq/2TIfabofL+YL+Yh6n9yX4nIhKHRQZZGxsb5OfnGyzTarWwtbXVr38ytGq1Wjg4OJi8LxeX5ia1VyjkaNKkdt9aCkXZ552cmtVqO1JSVb81aWJlwjYaX7+ZytTfZ6oe+5OIyLJZZJB1d3dHZmamwTK1Wq2fTuDu7g61Wl1hvZeXl8n7unPnAYy52YFCIYejYzOUlOhQXKwzeT+PK1GUTU3Oy3uE0tLabcvSWVnJ4eRUeb81aWKF4uJSo7fVmPrNVDJZWegy9veZqmdqf5a3JyKi+mWRQVapVGLjxo0oKirSn4VNSkqCn5+ffn1SUpK+fWFhIS5evIiIiAiT9yUIMOqLqq7CAUNHzbDfKmfs7zMZh/1JRGTZRL+PbGV69eqFli1bIioqChkZGdi4cSNSU1Px4osvAgDCwsLwyy+/YOPGjcjIyEBUVBRatWqFgIAAkSsnIiIiovpikUHWysoKa9euhUqlQmhoKL766iusWbMGHh4eAIBWrVrh448/xt69e/Hiiy8iPz8fa9asgYxXXBARERE1GhYzteDy5csG79u0aYPExMQq2wcFBSEoKKiuyyIiIiIiC2WRZ2SJiIiIiJ6GQZaIiIiIJIlBloiIiIgkiUGWiIiIiCSJQZaIiIiIJIlBloiIiIgkiUGWiIiIiCSJQZaIiIiIJIlBloiIiIgkiUGWiIiIiCSJQZaIqIHSaDSYPXs2/P39ERgYiC1btlTZ9l//+hdGjhwJX19fjBgxAseOHavHSomIaoZBloiogVq2bBnS0tKwdetWzJ8/H6tXr8aRI0cqtEtPT0dERATCwsJw4MABvPzyy3j33XeRnp4uQtVERMZTiF0AERGZX0FBAXbv3o1PPvkE3t7e8Pb2RkZGBrZv344hQ4YYtD106BB69+6N8ePHAwDatGmD48eP45tvvkGXLl3EKJ+IyCgMskREDVB6ejpKSkrg6+urX+bn54f169dDp9NBLv/fH+RGjRqF4uLiCtt48OBBvdRKRFRTDLJERA2QSqWCk5MTrK2t9ctatGgBjUaD/Px8ODs765e3b9/e4LMZGRk4ffo0Xn75ZZP2KZPVrmYpa8zHXh32S0Xsk4qe7BNT+ohBloioASosLDQIsQD077VabZWfu3v3LqZOnYqePXvir3/9q0n7dHFpbnqhDYCTUzOxS7BI7JeK2CcV1bZPGGSJiBogGxubCoG1/L2trW2ln1Gr1XjjjTcgCAISEhIMph8Y486dBxAEw2VWVvIG/+Wdl/cIpaU6o9s3hj4BTOsX9knlGkO/VNYnMpnx/zBmkCUiaoDc3d2Rl5eHkpISKBRlQ71KpYKtrS0cHBwqtL9165b+Yq9t27YZTD0wliCgQpBtLBrrcT8N+6Ui9klFtekT3n6LiKgB8vLygkKhQHJysn5ZUlISfHx8KpxpLSgowFtvvQW5XI7ExES4u7vXc7VERDVj0UH2u+++Q+fOnQ1ekZGRAICLFy9i9OjRUCqVCAsLQ1pamsjVEhFZDjs7O4SEhCA6Ohqpqan4/vvvsWXLFv1ZV5VKhaKiIgDAhg0bcO3aNcTFxenXqVQq3rWAiCyeRU8tyMzMRHBwMBYtWqRfZmNjg4KCAoSHh2PEiBFYunQpdu7ciUmTJuG7775D06ZNRayYiMhyREVFITo6Gq+//jrs7e0xdepUDBo0CAAQGBiI2NhYhIaG4ujRoygqKsLo0aMNPj9q1CgsXbpUjNKJiIxi0UE2KysLnTp1gqurq8HyPXv2wMbGBjNnzoRMJsOcOXPwww8/4MiRIwgNDRWpWiIiy2JnZ4e4uDj9mdbHXb58Wf9zZU/7IiKSAoueWpCVlYW2bdtWWJ6SkgI/Pz/I/rjRmEwmQ8+ePQ3mghERERFRw2axQVYQBPz222/48ccfMXjwYAwYMADLly+HVquFSqWCm5ubQXsXFxfk5uaKVC0RERER1TeLnVqQk5Ojv6H3Rx99hOvXr2Px4sUoKiqq8kbf1d3kuyrGPj2irp7EwSd81Az7zVB5f7BfzMPU/mS/ExGJw2KDrKenJ86ePYtnnnkGMpkMXl5e0Ol0eP/999GrV69Kb/Rd1U2+q2Pqk2gUCjmaNKndt5ZCUfb5hn6T48dV1W9NmliZsI3G12+maqxPVqor7E8iIstmsUEWABwdHQ3et2/fHhqNBq6urlCr1Qbr1Gp1hekGxqjsSTSVUSjkcHRshpISHYqLjX8qR2VKFGUzOkx9wocUlT+VpLJ+a9LECsXFpUZvqzH1m6nKn4Ji7O8zVc/U/jTlKTRERGQ+FjtH9t///jcCAgJQWFioX3bp0iU4OjrCz88PFy5cgPDHN4wgCPjll1+gVCpN3k/5k2iMedUFU/YvxVddEfu4LPHFfhG3P4mIqP5ZbJD19fWFjY0N/u///g9XrlzByZMnsWzZMrz11lsYMmQI7t+/j5iYGGRmZiImJgaFhYUYOnSo2GUTERERUT2x2CBrb2+PzZs34+7duwgLC8OcOXMwZswYvPXWW7C3t8eGDRuQlJSE0NBQpKSkYOPGjXwYAhEREVEjYtFzZDt27Ih//vOfla7r3r079u/fX88VEREREZGlsNgzskRERERE1WGQJSIiIiJJYpAlIiIiIklikCUiIiIiSWKQJSIiIiJJYpAlIiIiIklikCUiIiIiSWKQJSIiIiJJYpAlIiIiIklikCUiIiIiSWKQJSIiIiJJYpAlIiIiIklikCUiIiIiSWKQJSIiIiJJYpAlIiIiIklikCUiIiIiSWKQJSIiIiJJYpAlIiIiIklSiF0AEVUkl8sgl8tM/pyVVcV/m+p0AnQ6wRxlERERWRRJn5HVaDSYPXs2/P39ERgYiC1btohdElGtyeUyODk1M/kFoMp1NQnFJH2mjJEXL17E6NGjoVQqERYWhrS0tHqslIioZiR9RnbZsmVIS0vD1q1bkZOTgw8++AAeHh4YMmSI2KUR1Vj52dgL14rwQKMz+nMKhRwlJYbtm9vI4fusLeRyGc/KNkLGjpEFBQUIDw/HiBEjsHTpUuzcuROTJk3Cd999h6ZNm4pUPRHR00k2yBYUFGD37t345JNP4O3tDW9vb2RkZGD79u0MstQgPNDocL/Q+CDbpIkMxcXGt6eGzZQx8vDhw7CxscHMmTMhk8kwZ84c/PDDDzhy5AhCQ0NFOgIioqeT7NSC9PR0lJSUwNfXV7/Mz88PKSkp0On4ZU5EjZspY2RKSgr8/Pwgk5VNQZHJZOjZsyeSk5Prs2QiIpNJNsiqVCo4OTnB2tpav6xFixbQaDTIz88XrzAiEoVcLoNCITfLq7KL5qTGlDFSpVLBzc3NYJmLiwtyc3Pro1QiohqT7NSCwsJCgwEagP69Vqs1ejtyOSAYMXXwjxMVeMZWjtp+x9lbl23AnF+WgvC/Gi1pW+XHWFm/KaxkKLE2vg/M3W/mPE5zbq+6PqtOZf3ZWH7XZDIZHBzszHpRmyAIsLIybm6xOX+PzMWUMbKqtqaMpUD146ljU6taj52Wprmtlf5neQ2OTd68BWAl2a/hKsmbOv7vZxP7xcXGCQqZ1dMbSswz1g76n2v0u+LoBFg1rH6RN6+6T0wZUyX7f5CNjU2FQbb8va2trdHbcXZubtJ+la2N3/bTODjYmW1blo79Zjr2mbhkMhmcnOzFLqPGTBkjq2prylgKVD+e+rdzqHKd1JXfNcRUzXwGmLkSy1KTfunn3qsOKrEcNf1dsfX/s5krsRw17ZNykv33sbu7O/Ly8lBSUqJfplKpYGtrCweHhjtgEhEZw5Qx0t3dHWq12mCZWq2uMN2AiMjSSDbIenl5QaFQGFyMkJSUBB8fH8hrct6eiKgBMWWMVCqVuHDhAoQ/5gUIgoBffvkFSqWyPksmIjKZZBOfnZ0dQkJCEB0djdTUVHz//ffYsmULxo8fL3ZpRESie9oYqVKpUFRUBAAYMmQI7t+/j5iYGGRmZiImJgaFhYUYOnSomIdARPRUMkEw5lIny1RYWIjo6Gh8++23sLe3x5tvvokJEyaIXRYRkUWobozs3LkzYmNj9feJTU1Nxfz585GVlYXOnTtjwYIF6Nq1q4jVExE9naSDLBERERE1XpKdWkBEREREjRuDLBERERFJEoMsEREREUkSg6wJtFothg8fjrNnz4pdiqTdunULkZGR6NWrF/r27YvY2FhoNBqxy5Ksq1ev4s0334Svry/69euHTZs2iV1SgxAeHo5Zs2aJXQaZiOP0/3CsrRzHzOpJbexjkDWSRqPBtGnTkJGRIXYpkiYIAiIjI1FYWIjt27dj5cqVOHHiBD766COxS5MknU6H8PBwODk5Yf/+/ViwYAHWrVuHgwcPil2apH399dc4efKk2GWQiThO/w/H2spxzKyeFMc+BlkjZGZm4qWXXsK1a9fELkXyrly5guTkZMTGxqJjx47w9/dHZGQkDh06JHZpkqRWq+Hl5YXo6Gi0bdsWQUFBeP7555GUlCR2aZKVn5+PZcuWwcfHR+xSyAQcpw1xrK0cx8yqSXXsY5A1wrlz5xAQEIBdu3aJXYrkubq6YtOmTWjRooXB8ocPH4pUkbS5ubnho48+gr29PQRBQFJSEs6fP49evRr288rrUlxcHEaOHIkOHTqIXQqZgOO0IY61leOYWTWpjn0KsQuQgnHjxoldQoPh4OCAvn376t/rdDokJiaid+/eIlbVMPTv3x85OTkIDg7G4MGDxS5Hkk6fPo2ff/4ZBw8eRHR0tNjlkAk4ThviWPt0HDP/R8pjH8/Ikqji4+Nx8eJFvPfee2KXInkJCQlYv349Ll26hNjYWLHLkRyNRoP58+dj3rx5sLW1FbscIrPiWFsRx8wyUh/7eEaWRBMfH4+tW7di5cqV6NSpk9jlSF75vCaNRoMZM2Zg5syZsLa2Frkq6Vi9ejW6detmcBaLqCHgWFs5jpllpD72MciSKBYtWoSdO3ciPj6+0f9JpzbUajWSk5MxYMAA/bIOHTqguLgYDx8+hLOzs4jVScvXX38NtVoNX19fAGW3cQKAo0eP4sKFC2KWRlRjHGsNccysSOpjH4Ms1bvVq1fj888/x4oVKzBkyBCxy5G069evIyIiAidPnoS7uzsAIC0tDc7Ozo1yQK6Nzz77DCUlJfr3y5cvBwDMmDFDrJKIaoVjbUUcMyuS+tjHIEv1KisrC2vXrkV4eDj8/PygUqn061xdXUWsTJp8fHzg7e2N2bNnIyoqCjdu3EB8fDwmT54sdmmS4+npafC+WbNmAIA2bdqIUQ5RrXCsrRzHzIqkPvYxyFK9OnbsGEpLS7Fu3TqsW7fOYN3ly5dFqkq6rKyssHbtWixatAhjxoyBnZ0dXnvtNYwfP17s0ohIRBxrK8cxs+GRCYIgiF0EEREREZGpePstIiIiIpIkBlkiIiIikiQGWSIiIiKSJAZZIiIiIpIkBlkiIiIikiQGWSIiIiKSJAZZIiIiIpIkBlkiIiIikiQGWbJ4169fR+fOnXH9+nWTP6vVavHFF1/o37/22mv4+OOPzVkeEZGkcEylhoRBlhq0r7/+GuvXrxe7DCKiBoFjKlkaBllq0PgEZiIi8+GYSpaGQZYk48iRI3jhhRfQs2dPzJs3D1qtFgCwe/duDBkyBN26dUNAQAAWLFiA0tJSnD17FlFRUbhx44bBn9Fu3bqFt956Cz4+Phg8eDB++ukn/T46d+6MVatWISAgAJMnTwYAXLhwAWPHjkWPHj3Qv39/7Ny506Cuffv2YejQoejevTtCQ0Nx/vx5/br+/ftjz549CAsLQ/fu3TFx4kTcuHEDU6dOhVKpxMiRI5GRkQEAKC4uxv/93/8hICAAvr6+mDx5Mm7dulWnfUpEjRfHVGoQBCILl52dLXTq1EkYOHCg8PPPPwtnz54VgoKChISEBOHs2bNC9+7dhaNHjwrZ2dnCN998I3Tr1k04evSooNFohE8//VR44YUXhNu3bwslJSXCq6++Knh7ewt79+4Vrl69KkybNk3o06ePoNPpBEEQhE6dOgkjR44UsrKyhIyMDCEzM1Pw8fERPvzwQyErK0vYt2+foFQqhW+//VYQBEHYu3ev0KNHD2H//v1CVlaWEB8fL/To0UPIzc0VBEEQgoODhT59+ginTp0S/vOf/wgBAQHCn//8Z2HHjh3Cf//7X2HMmDHC5MmTBUEQhH/+85/CoEGDhLS0NCEzM1N49dVXhcjISHE6nYgaLI6p1JAwyJLFKx90T5w4oV+2b98+4S9/+Yvwn//8Rzh48KBB+5deeklYvXq1IAhlg2JwcLB+3auvvipMmzZN//7SpUtCp06dBJVKJQhC2aC7Y8cO/folS5YIY8aMMdh+fHy88NJLLwmCIAghISHChx9+WGH/y5cvFwShbNB9fP27774rjBs3Tv9++/btwqBBgwRBEIRFixYJI0aMEPLy8gRBEITr168LaWlpRvQQEZHxOKZSQ8KpBSQZ3bt31//ctWtXqNVqtG7dGl26dEFCQgIiIyMxePBgpKSkQKfTVbmd1q1b63+2t7cHAGg0Gv0yT09P/c9ZWVkG+wUAX19fZGVlVbm+R48e+vVP7s/W1tZg+7a2tiguLgYAjBkzBiqVCoGBgZg4cSJOnjyJ9u3bV9MjREQ1xzGVGgIGWZIMufx/v67CHxccnD9/HqGhoVCr1ejbty8SEhLQs2fPardjZWVVYZnw2AUMNjY2lf5cTqfTobS0tMr1paWlBoP+k/t7/Dge17FjRxw/fhzx8fFwdXXFihUrMHHiRF5cQUR1gmMqNQQKsQsgMtZ///tf9OrVCwCQmpqKP/3pT/jqq68QFhaG+fPnAwBKSkpw7do19O7dGwAgk8lqtc/nnnvO4EIDoOxCheeee06/PiUlBQMGDNCvT0lJgb+/v8n7OnDgAKytrTFs2DAMHToUycnJGDNmDO7cuYMWLVrU6jiIiJ7EMZUaAp6RJclYtGgRUlJScOrUKSQkJGDChAlwdHTEhQsXcPnyZWRkZGDWrFlQqVT6q2/t7Oxw7949/P777ygpKTF5n+PGjcOlS5ewYsUK/Pbbb9i/fz927NiBV155BQAwYcIEJCYm4sCBA/jtt9+wfPlypKen48UXXzR5Xw8ePEBMTAxOnz6N7OxsHDx4EH/605/g5ORk8raIiJ6GYyo1BDwjS5IxduxY/P3vf0dxcTFeeuklvP7661Cr1YiKisKYMWNgb2+PoKAgjB07FpcuXQIA9O7dG23atMGIESOwY8cOk/fp4eGBDRs2YNmyZdiyZQs8PDwwa9YshIWFAQCGDRsGtVqNhIQEqFQqeHl5YcuWLTWah/XKK68gNzcX77//Pu7du4du3bph3bp1lf7ZjoiotjimUkMgEzhZhIiIiIgkiFMLiIiIiEiSGGSJiIiISJIYZImIiIhIkhhkiYiIiEiSGGSJiIiISJIYZImIiIhIkhhkiYiIiEiSGGSJiIiISJIYZImIiIhIkhhkiYiIiEiSGGSJiIiISJIYZImIiIhIkv4/D/Dd94BbQWsAAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "sns.histplot(cleaned_house_price, x='bathrooms', ax=axes[0])\n",
    "sns.barplot(cleaned_house_price, x='bathrooms', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据集中房子洗手间数量最少1个，最多4个，其中为1个的数量最多。\n",
    "\n",
    "从平均房价与洗手间数之间的柱状图来看，洗手间多的房子价格也相应高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 楼层数与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:56.333687400Z",
     "start_time": "2024-04-07T14:57:56.019392400Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 700x350 with 2 Axes>",
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "sns.histplot(cleaned_house_price, x='stories', ax=axes[0])\n",
    "sns.barplot(cleaned_house_price, x='stories', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "此数据集中房子的楼层数范围为1-4层，其中大多房子有1层或2层。\n",
    "\n",
    "从平均房价与楼层数之间的柱状图来看，楼层多的房子价格也相应高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 车库数与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:56.471939700Z",
     "start_time": "2024-04-07T14:57:56.232541Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 700x350 with 2 Axes>",
      "image/png": "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1l133WV0aQDgEo6RBUzAarXIanX+VFYfn6p/q9psdtlsXvjdFSRJERERWrRokdFlAIBbEGQBD2e1WhQa2sylIFvdyQI2m13Hj58mzAIATM8jgmxpaakSExM1bdo09e7dW5KUl5enadOmKSsrS5GRkUpNTVWfPn0c7/n888/19NNPKy8vT3FxcZo9e7Yuu+wyoz4CUG/O74395sezOllS+7NefX2tKi+vvHxzf6viLw+Q1WohyAIATM/wY2RLSko0ceJE5eTkOKbZ7XaNHz9erVq10qZNm3TjjTdqwoQJys/PlyTl5+dr/PjxSkxM1MaNG9WyZUs99NBDsnvjqX7wGidLbPqluPaPk2ftVac5EYQBAPB0hgbZffv26ZZbbtGPP/5YafoXX3yhvLw8zZw5Ux06dND999+vHj16aNOmTZKkDRs2qFu3brr33nvVqVMnpaen69ChQ9q+fbsRHwMAAAAGMDTIbt++Xb1799brr79eaXp2drauuuoqNW3a1DGtZ8+eysrKcsxPSEhwzAsMDFTXrl0d8wEAAND4GXqM7O23317t9IKCArVu3brStLCwMB0+fLhW851R2/v51ue9j73xvsruQu9cR++cc75fzvSNHgNA/fKIk71+rbi4uMo9v/38/FRaWlqr+c5w9p7hvr5WNWlS999Ovr7n1uEtt6CTLt67Jk18nFiP9/VOcu3/3q/76q29cydnxwwAQP3xyCDr7++voqKiStNKS0sVEBDgmP/r0FpaWqrg4GCnt1XdPcOr4+trVUhIM5WX21RWVvcTZsp9zx3V4ez9l83o/D2ja+pdkyY+KiurqPX6vKl30qX7V5Pq+uptvXOn8/f+ru2YceF7AAD1wyODbEREhPbt21dpWmFhoeNwgoiICBUWFlaZHxMT4/S2antP3/q8IAIXW3AdvXMdvXONt94LHQA8keGX36pOXFycvvvuO509e9YxLTMzU3FxcY75mZmZjnnFxcXatWuXYz4AAAAaP48Msr169VKbNm2UkpKinJwcLV++XDt27NCoUaMkSTfddJO+/vprLV++XDk5OUpJSVF0dLTjZgoAAABo/DwyyPr4+GjJkiUqKChQYmKi3nnnHS1evFiRkZGSpOjoaD3//PPatGmTRo0apaKiIi1evFgWThEGAADwGh5zjOzevXsrvW7btq3Wrl1b4/L9+vVTv3796rss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Wmlpabr++uvVv39/nT59utK6X3nlFSUkJGj37t2Vvh47v81//vOfGjRokGJjY3X//ferqKjI8d5PP/1UI0aMUPfu3TV27FilpaXpiSeeaJCeAMClMHbCbHyNLgCoT4sWLdL8+fNVXl6uKVOmqFmzZmrXrp1Wr16tefPm6bLLLtMnn3yiGTNmaMCAAeratask6c0339TKlSvl5+enZs2aOdb3j3/8Q/PmzdOLL76omJgYbdu2rco2ly1bpnnz5slut+vBBx/Uyy+/rEcffVR5eXl68MEH9eCDD2ro0KF69913tXTpUo0cObKh2gEAtcLYCbNgjywatccee0wJCQm65ppr9Mgjj+iNN95QmzZtlJ6ermuvvVbR0dG67bbbFB4erpycHMf7+vfvr6uvvlrdunVzTPvqq6+UkpKi+fPnKyEhocZtJicnq3v37oqLi9OIESP07bffSpI2bNig7t2766GHHlL79u31yCOPKC4urv4+PAC4iLETZsEeWTRqV199teN5t27ddOzYMXXu3Fl5eXl69tlnlZubq927d6ugoEA2m82xbFRUVJV1TZ8+XRUVFWrTps1Ft9m2bVvH86CgIJWVlUmS9u7dq9jY2ErL9ujRQydOnHDpswFAfWHshFmwRxaNWpMmTRzPzw+2Gzdu1JgxY1RSUqLf//73WrVqlf7v//6v0vv8/f2rrGvixIm6/vrrNXPmzFpv80I+Pj6y2+2Vpv36NQB4AsZOmAVBFo3a7t27Hc937typ1q1b6x//+IfGjx+v1NRUjRw5UqGhoTp69OglB8ZBgwbp8ccf186dO/X22287XUunTp303XffVZr269cA4AkYO2EWBFk0arNnz9a3336rzz//XAsWLNAdd9yh0NBQbd26Vd9//7127typRx99VGVlZSotLb3k+qKiojR27FhlZGTo5MmTTtVyyy23KCsrS8uXL9f333+vZcuW6auvvpLFYnH14wFAvWDshFkQZNGoDRs2TPfff78mTpyom2++WUlJSUpNTdWpU6d044036uGHH1aXLl00ePDgSnsgLmbcuHHy8/PTggULnKolKipKCxcu1KZNmzRixAh98803uv7662v8Og0AjMLYCbOw2DnQBI3QwYMHdf3112vz5s2Kjo42uhxJ0n/+8x+Vl5frqquuckxLSkpSbGysHn74YQMrA4BzGDthNuyRBRrIjz/+qHvuuUefffaZDh06pA0bNmjr1q0aPHiw0aUBgMdi7MTFcPktoIEMGjRIOTk5mjp1qo4ePaorrrhC8+fP15VXXml0aQDgsRg7cTEcWgAAAABT4tACAAAAmBJBFgAAAKZEkAUAAIApEWQBAABgSgRZAAAAmBJBFgAAAKZEkAUAAIApEWQBAABgSgRZAAAAmNL/B+dtgvGpYkRgAAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "sns.histplot(cleaned_house_price, x='parking', ax=axes[0])\n",
    "sns.barplot(cleaned_house_price, x='parking', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "此数据集中房子的车库数范围为0-3个，不带车库的房子数量是最多的，其次是1个和2个。\n",
    "\n",
    "从平均房价与楼层数之间的柱状图来看，车库多的房子价格也相应高，但超过2个后，房价并不一定相应更高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 是否在主路与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:56.550687700Z",
     "start_time": "2024-04-07T14:57:56.435384300Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 700x350 with 2 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAApoAAAFUCAYAAACEBpymAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA5h0lEQVR4nO3deXiV9Z3//9d9zslJQhaysZiwBhCQNbJphZ+WgUE2sWilFa36darUUTpFscigOMVdB1vHEa1WR0dcpl7iXGotLoilVBEcQCzIErZAWJKQQBJy1vv+/XFIBFHIdnLf55zn47rSntyc5X3Mndyv81kNy7IsAQAAAK3MZXcBAAAAiE8ETQAAAEQFQRMAAABRQdAEAABAVBA0AQAAEBUETQAAAEQFQRMAAABRQdAEAABAVBA0AQAAEBUETQCwQSAQ0JQpU7RmzZpGP+bzzz/XtGnTNGTIEF111VX6+uuvo1ghALQcQRMA2pjf79ecOXO0ffv2Rj+mpKREP//5zzV+/Hj97//+r/r27atbbrlFgUAgipUCQMsQNAGgDe3YsUNXXXWV9u7d26THvfzyyxo8eLBuvfVW9ejRQ/Pnz5fL5dLOnTujVCkAtBxBEwDa0Oeff65Ro0bp9ddfP+3f1q1bp+nTp2vw4MGaOnWqli9ffsrj/vEf/7Hh+9TUVH344Yfq169fm9QNAM3hsbsAAEgkV1999XceLysr080336xf/epXGjNmjDZs2KB58+YpNzdXw4cPV0lJiVJSUjR79mytW7dOvXv31j333KPevXu38TsAgMajRRMAHGDp0qX6wQ9+oGuuuUbdu3fXtGnTNGPGDL344ouSpOPHj+uxxx7TiBEj9Oyzz+qcc87R9ddfr9raWpsrB4DvR4smADjAzp079fHHH6uoqKjhWDAYVM+ePSVJbrdbY8eO1bXXXitJWrRokS655BKtWLFCU6dOtaVmADgbgiYAOEAoFNLUqVM1a9asU457PJE/0x06dGgInZLk9XpVUFCgAwcOtGmdANAUdJ0DgAP07NlTe/bsUffu3Ru+PvroI7399tuSpKFDh2rr1q0N9w8EAiopKVGXLl3sKhkAzoqgCQAOcPXVV+urr77S448/rt27d+vtt9/W4sWLlZ+fL0m67rrrtHz5cr3yyivavXu3fvOb3yg5OVmXXHKJvYUDwBkYlmVZdhcBAImob9++eumllzRq1ChJ0t/+9jc99thj2rZtmzp16qQbbrhB11xzTcP9P/zwQz322GPav3+/Bg4cqN/85jfq06ePXeUDwFkRNAEAABAVdJ0DAAAgKgiaAAAAiAqCJgAAAKKCoAkAAICoYMF2AGgjFRXVYvolgFhnGFJubkaj7kvQBIA2YlkiaAJIKHSdAwAAICoImgAAAIgKgiYAAACigqAJAACAqCBoAgAAICoImgAAAIgKgiYAAACigqAJAACAqGDBdgAAkJBKS/frv/7rWUnS9df/XPn5BTZXFH9o0QQAAAnpxRf/oC+/3KAvv9ygl176g93lxCWCJgAASEj795c03N63r+QM90RzETQBAAAQFQRNAGikDz74QH379j3la/bs2XaXBQCOxWQgAGikHTt26Ic//KEWLVrUcCw5OdnGigDA2QiaANBIxcXFOvfcc9WhQwe7SwGAmEDXOQA0UnFxsXr06GF3GQAQMwiaANAIlmVp165d+utf/6oJEyZo3LhxeuyxxxQIBOwuDQAci65zAGiE0tJS1dXVyev16re//a327dun++67Tz6fTwsWLGjUcxhGlIsEWsjlMmQk0Il68ns1DEMeT2K1v1mWJdO0mvy4ppwiBE0AaISCggKtWbNG7du3l2EY6t+/v0zT1Ny5c3XXXXfJ7Xaf9TlyczPaoFKg+SzLlGEkTthyuYxTbmdnp9lYTdtri583QRMAGikrK+uU73v16iW/36+jR48qJyfnrI+vqKiW1fTGA6BNuN0uZWenqXbjcpm1lXaX0yZMf+0pt6v/9pqN1bQtV1q20oZMUGVlrcJhs0mPNYzGf3AmaAJAI6xatUp33HGHVq5cqdTUVEnSli1blJWV1aiQKUmWJYImHM+srVT4WJndZbQNM3zK7YR5398Szb9LidM+DgAtUFRUpOTkZC1YsEA7d+7UJ598okceeUT/9E//ZHdpAOBYtGgCQCOkp6frD3/4gx544AFdccUVSktL009+8hOCJgCcAUETMi1LlhUZc+FqhdmGlmXJUqQp3mUooWYwIr716dNHL7zwgt1lAEDMIGgmCPPEAIz6IGlZluqClqr9lmr8luoCpo4HLdUFLPlDlkKWZJpS2LQUNqWwdeptlyEluaUklyGPW/K6DSW5jcgxtyGv21BasqGMZEOZKS6lJRunvLZJCAUAIO4RNOPQt0Pl8YCpshpTFbWmjhw3Ve0zVRuIhL3mv4bkD0l+1T/JmZ/MkNTOaygzxVB6sksZKYbap7jUId2tlKRInaZpySB8AgAQNwiaccC0LBmKBLS6k0JlxXFTFbVh+UN2VxiJobUBS7UBS9Kpyyi0SzKUl+5SXppLnTLdyk1zyWUYp7wvAABaW5fcDJUdqztxO9PmauITQTNGmaYll8tQ2LR08FhY+6rC2l8VVk0g9tZOOR60tLcyrL2VYUlBuQ0pL92lThludclyKy/d3TDuszXGkAIAIEk3jB0k86NNJ24PtLma+ETQjBHWie5wwzBUGzBVUhkJlgePhRWOvWx5RmFLOlRt6lC1qS9Lg0pNMtQ1261u2W51znQ3tHYSOgEALVGQk6F7fvwDu8uIawRNh6sPVNV+SzvKQiqpDOmoL86S5VnUBS1tOxzStsMhJbmlLlludcv2qEuWW24XoRMAAKciaDpQ/djEsCXtqghpR1lIZTVN2x4qXgXD0q6KsHZVhOU2IqGzb6ckdc50EzgBAHAYgqaD1AelilpT2w+HtPtISCHy5fcKW9KeyrD2VIaVmWLo3I5J6tPBI8+J/a6YRAQAgL0ImjarH3sZMqVth0PaURZMuK7x1nDMZ2nd3oA27AuoR45H/Tp7lNPO3TBpCgAAtD2Cpk3qA6Y/JP39QFDbyoIKhm0uKg6ETGlHeUg7ykPKTXPpvE5J6pHrZsY6AAA2IGi2sfqAWRe0tHF/UMXloRYtnI7vV1FratVOv74sNTSki1c9cjy0cAIA0IYImm2EgGmfoz5Lf9nh16Z2QQ0tSFLXbAInAABtgaDZBkzLUigsrd8X0PYyAqZdKo+b+ni7X7lpQRV1SVJ+ew8z1QEAiCKCZhTVL1O0/XBIG/YHHLEVJCJd6h9u9atjelDDunnV4cTOQ8xSBwCgdRE0o6A+tBypNfXZ7oCOHGeNIic6XGPqvc0+9c7zaHg3rzxuWjcBAGhNBM1WZlqWgmFp3V6/istpwowFO8pDKqkKqaiLV+d2TKI7HQCAVkLQbCX13eRbD0W6yVmqKLb4Q9JnuwPaWR7SRYXJSk9mwXcAAFqKoNkKTMtSXcDSJ8V+lbNVZEw7XGPqfzfVaXBBkgadk8T6mwAAtABBswXqx2LurghrzR4/rZhxwrSkDfuC2nskrIv7JCvNS9gEAKA5XHYXEKtMy1LYlFYV+/TXnYTMeHTkuKl3NtVp75HID7d+LVQAANA4tGg2g2VZkV1niv2q8RM+4lnQlP5S7NfBY2GN6O6VISYKAQDQWATNJqhv0fqyNKgv9wdFxEwc28pCKqs1dQld6QAANBpd541kWpZCpvTRNr82EjITUiVd6QAANAlBsxFMy1Jd0NKfNtep9CiDMRNZfVf6mt1+SYRNAADOhK7zszAtS0dqTa3Y5pOP9ddxwtbDIdUELF3SO5lxmwAAfA9aNM9ib2VYy7cQMnG6/VWRcyMYjnwgAQAApyJofoeGST/7A/rLDr/CZAh8j/JaU3/aXKe6gEXYBADgWwia31IfMv+6068N+4M2V4NYUO2z9O7f61R13CRsAgBwEoLmSSzLkiVp5Q6/dpbTV47G84WkP2/x6eCxMBOEAAA4gaB5gmVZsixp5Xa/SiqZWY6mq1/+am8lYRMAAImgKSkSMk1LWrHdr31VhEw0n2VJq4r9Kj0aphsdAJDwEj5ontxdzhqZaA3miZbxshrGbAIAEltCB8367s2/7PBrPy2ZaEVhS/poq0+VTBACACSwhA6aUmR2+V7GZCIKQqb0wdc+HasjbAIAElNCB80vSgLaVUHIRPQEwtL7X/tU62edTQBA4knIoGlZlnaUBbX5IEsYIfp8IWn51z75goRNAEBiSbigaVqWympMfbY7YHcpSCDHA5ZWbPPLssTSRwCAhJFQQdO0LNUFLH283SeTaz3a2JHjplYV+2UYht2loIVuuukmzZs3z+4yAMDxEiZoWpalsCl9uNUnPz3msMneyrA27qc1PZa9++67+uSTT+wuAwBiQsIETUn6ZIdfR300ZcJeG/cHVVIZYrxmDKqqqtIjjzyiQYMG2V0KAMSEhAma60oCLMgOx/jrTr+OB5gcFGsefvhhTZs2Tb1797a7FACICXEfNE3L0v6qkLYwwxwOEgxLHzM5KKZ8+umnWrdunW655ZZmP4dh8MWXc7+QuKJ5vniiV7b9LMtSMCyt3sWYODhPZV1k9YOLCpPtLgVn4ff7tXDhQt1zzz1KSUlp9vPk5ma0YlUA0HLZ2WlRff64DpqGYehvOyPrFwJOVFweUvcct/Lbu+WiScGxnnzySQ0cOFBjxoxp0fNUVFSLBmw4ldvtinrogPNUVtYqHDab9BjDaPwH57gNmqZlqbgspBL2MIfDfboroGmDUpXktsTSR8707rvvqry8XEVFRZKkQCDSS7J8+XKtX7++0c8TGSoRlRIBoNmi+XcpLoOmaVmqDVhau5cuczhfXdDSmj1+jenV/C5ZRNd///d/KxT6Zpz3Y489Jkm644477CoJAGJCXAZNQ9KqHX6FmtYSDNhmV0VYPXJCKsiiC92JCgoKTvk+LS3Svdi9e3c7ygGAmBF3s84ty9KXpUGV15IyEVs+3R1QKMwsdABA/IirFk3TslTrt7SpNGh3KUCT+ehCjxkPPfSQ3SUAQEyIqxZNl2Ho8z0B9jFHzNpVEdZedg0CAMSJuAma9Quz72f3H8S4tXsCEjkTABAHWhQ0FyxYoFmzZp1ybNGiRZo7d64OHDigWbNmaciQIRo7dqyefPJJhcOREBgMBrVgwQKNGjVKRUVFmjVrlg4dOtSSUiRJnzPLHHGgNmBp86EgrZoAgJjXoqA5efJkrV69WjU1NZIk0zS1fPlyTZ48Wbfeeqtyc3O1bNkyPfjgg3r77bf19NNPS5KWLl2qtWvX6vnnn9cbb7yh2tpaPfDAA82uw7QsbT4YVLWPCzPiw6bSIBODAAAxr0VBc9SoUWrfvr1WrFghSVq3bp2CwaDcbrdKS0u1aNEiFRYWatSoUfr1r3+tl156SZK0b98+JScnq6CgQL169dJDDz2km266qVk1WJalQEjatJ8JQIgfwbC0YT8t9ACA2NaiWecul0sTJ07Un//8Z1122WV67733NH78eO3Zs0dVVVUaNmxYw31N05TP51NlZaVmzJihd999V6NHj9bIkSM1btw4TZ8+vVk1GIahL0r8CrKaEeLMtsMhndc5SWlesWMQACAmtXh5oylTpujaa69VTU2NPvjgAz366KPaunWrCgsL9dRTT512/4yMDGVnZ2vFihVauXKlVq5cqcWLF+udd97R0qVLm3RBNS1LR+tMFZeHzn5nIMaYlrRub0CX9GG5IwBAbGpx0BwyZIg6deqkZ599VpZlaeTIkQoEAiotLVVOTo4yMiKbrq9evVpvvvmmHnnkEb311lvyer2aNGmSJk6cqA0bNmjGjBmqqKhQXl5eo1/bZRjasI8uc8SvvZVhldWElZvmYscgAEDMaZXljSZNmqQXXnhBl156qdxut0aPHq2CggLNnTtXW7du1bp163T33XcrNTVVbrdb1dXVuv/++/Xpp5+qpKREb7/9tjp37qzs7OxGv6ZpWao8HlZJFcsZIb6t2xsgZAIAYlKrBU2/369JkyZJktxut5YsWSLTNHXVVVfptttu08UXX6wFCxZIkmbOnKnLL79cc+fO1aRJk7R582YtWbJEbre78YUbhjYyAQgJoKzGVFlNmOWOAAAxp1W2oCwvL1dBQYHOP//8hmNdu3bV73//+++8v8vl0ty5czV37txmvZ5lWar2WdpbSWsmEsPfDwQZqwkAiDktCpqHDx/WF198oWeeeUZXXnllm82MNQxDmw6w9AsSR0llWDV+U2legxnoSAilpfv1X//1rCTp+ut/rvz8ApsrAtAcLeo6r66u1vz585Wdna0bbrihtWo6I8uyVBc0tauCmeZIHJakzQcZKoLE8eKLf9CXX27Ql19u0Esv/cHucgA0U4taNHv16qX169e3Vi2NtvlASCbD1ZBgdpSFVNTFq6TGD2UGYtb+/SUNt/ftKznDPQE4WatMBmpLpiVtK6NlB4knZEpb2QMdABBDYipompalPUfCCjIHCAlqyyGGjAAAYkdMBU2XYai4nNZMJK66oKU9FSx1BACIDTEVNI8HTB08xqbmSGw7yoMs4A4AiAkxEzRNy9KOspBox0GiO3jMVF2QD1wAAOeLmaAZ6TZnfBpgSSouD9F9DgBwvJgImqZl6XB1WNV+LqyAJO0sD9F9DgBwvFbZgjLaDEXWEAQQUVVn6VidqYwUdgpKFC6XIZcrcX7WJ5/XhmHI44mJdpFWYZqWTBaLRpyIiaBpWdKeIwRN4GS7joQ0KD9JiRM9EpfLZSg7Oy2hgubJ77X+/ScK07RUWVlL2ERccHzQtCxLh2pMMfcBONXuIyENKfDaXQbaQH1r5priY6quS4yFhH0n/dH3BU19+FWljdW0nYxUt0b1ypTLZRA0ERccHzQlaV8VrZnAtx2ts3S0zlT71MTpUkx01XVhVR1PjL+HJ4cs07QS5n0D8cbxVyjDMFRalRif4IGm2n80TKsHAMCxHB80jwdMHfVxIQW+y4Fj4YQatwcAiC2ODpqmaWkfrZnA9zp8LCyL9TQBAA7l6KDpchnaf5SgCXyfoClV1JqETQCAIzk6aJqWpYMETeCMSo+F2ZoVAOBIjg2almWpnGWNgLM6eCzMLkEAAEdycNCUDlbTmgmcTVm1ycxzAIAjOTZoulyGjtTSnAmcTdiSymoYp4n4ktWxoOF2dscuNlYCoCUcGzQl6chxgibQGIeqwyJnIp5cNOU6de0zWF37DNYPpvzM7nIANJNjdwYKhi3V+LlyAo1RVWeynibiSnaHfE35f/PtLgNACzmyRdOyLLrNgSaoquP3BQDgPI4MmqYlVdBtDjTaMZ8lk77zqNqzZ49uvPFGFRUV6ZJLLtFzzz1nd0kA4HiO7Dp3uwxV1DLjHGgs05JqfJYyU+k+jwbTNHXTTTdp0KBBWrZsmfbs2aM5c+aoU6dOmjp1qt3lAYBjObJFU2IiENBUR46btGpGSXl5ufr37697771XPXr00MUXX6wLL7xQX3zxhd2lAYCjOTJomqalY3VcMIGmYJxm9HTs2FG//e1vlZ6eLsuy9MUXX2jt2rUaOXKk3aUBgKM5suv8eNBiSz2giarqTHYIagNjx45VaWmpfvjDH2rChAlNeiw/HjQF5wvaSlPPtabc33FB07IsVfuImUBT0aLZNp544gmVl5fr3nvv1YMPPqgFCxY0+rG5uRlRrAzxJDs7ze4SkCCifa45MGhKNX4umEBTHQ/wAe1Mtm/frt27d+uiiy5SRUWFunTpIqMZTUaDBg2SJPn9ft1xxx2688475fV6G/XYiorqZi2s73a7CB4JprKyVuFw214LOc8SU3PONcNo/AdnR47RrOGCCTRZyJTC7Hl+mqNHj+r666/XtGnT9Mtf/lIVFRW6//77NWXKFO3fv79Rz1FeXq4PP/zwlGO9e/dWMBhUTU1No2uxrOZ9ITE193zhPENTRfN8cVzQdLkM1RE0gWbxhfjd+bb77rtPqamp+uyzz5ScnCxJeuCBB9S5c2fdd999jXqOffv26dZbb9WhQ4cajn311VfKyclRTk5OVOoGgHjguKApSXVBLpZAc/j43TnNqlWrNGfOHGVmZjYcy8nJ0V133aW1a9c26jkGDRqkAQMGaP78+dqxY4c++eQTPfroo5o1a1a0ygaAuEDQBOJIXdCSRR/Yafx+/2nHjhw5Io+nccPU3W63nnrqKaWmpmrGjBn613/9V1177bX62c9+1tqlAkBccdxkIImgCTSXL2jJslgW5WRTpkzR/fffr9/85jcyDEPHjx/XZ599poULF2rSpEmNfp5OnTrpySefjGKlABB/HBk0/YwzA5rFxxq0p7nzzju1ePFiTZ8+XcFgUJdffrlcLpd+/OMf684777S7PACIa44MmkycBZrHF7JozfwWr9erefPm6V/+5V9UUlKicDisbt26qV27dnaXBgBxz3FjNNmrGWg+X0jsDvQtVVVV+uUvf6nnnntOffr0Ub9+/TRx4kT96le/UnV1td3lAUBcc1zQJGcCzWfSHXCahQsXqqKiQhMnTmw49vTTT6u8vLzRyxsBAJrHcV3nXCeB5uOD2ulWr16t119/Xb169Wo41r9/f91zzz2aOXOmjZUBQPxzXIsmQRNoPjZvPV1KSooOHjx42vGmLG8EAGgex/2VpUXG2Ybme9Svk+NOG5zgMiRZpmQ47jOkbaZPn6758+frV7/6lQYMGCBJ+vrrr/W73/1O06ZNs7k6AIhvjksMYZKmo3XNdsub5JYq90nHK+0uB9+Wkinldre7Ckf55S9/Kcuy9NBDD6mqqkqSlJ2drWuvvVY33XSTvcUBQJxzXNAkZzrb+1v9unKIIVdKhoy1r0nBOrtLwsk69ydofovb7dbtt9+u22+/XUeOHFFSUpIyMjLsLgsAEoLjgiYrszibPyS9vzWgS/tlyBp2pYw1L/PpwElcdJlL0ltvvaVJkybJ6/XqrbfeOuN9L7/88japCQASkeOCZpKbpOl0ZTWm1pYENaJbd6n/eGnz+3aXhHqMzZQkPfHEE7r44ovl9Xr1xBNPfO/9DMMgaAJAFDkvaHKdjAlfHwqpQ7pLPXuOko4dkvZttLskSATNE1asWNFw++GHH9bgwYOVnJxsY0UAkJgcd1UyDIOwGSNWFQdUdTwsa9BkKavA7nIgSS43Qxm+5dZbb9Xu3bvtLgMAEpIjI53XQ/d5rPjTZp9CpmQNnyElM8HCdt60yPJGaNCnTx9t3EiLOwDYwXFd55KU5La7AjRWyIyEzakDU6QRM2T87b8kM2R3WYkrNdPuChynffv2uueee/TEE0+oS5cu8nq9p/z7Sy+9ZFNlABD/HBk0Iy2adP/FiqM+afXOoEb36iRr8BQZG96yu6TEldKecZrf0r9/f/Xv31+WZamqqkqGYSgrK8vusgAgITgzaDLzPObsOhJWXnpI/QsGSUcPSLvW2F1SYmqXxRph3/KLX/xCTzzxhP74xz/qyJEjkqROnTpp5syZLNgOAFHmzKDJGM2YtHZvUHlpbuX1Hy+jukwq32l3SYknhXGy3/bwww9r+fLluuOOOzRw4ECZpqlNmzbpiSeeUCAQ0K233mp3iQAQtxwXNE3TUrqXoBmrlm/x6cqhKUoedqWMVc9Jx4/YXVLicHslj/fs90swy5Yt03/+539q5MiRDcf69eungoIC3XHHHQRNAIgi5w3mMqTMFOeVhcYxJb3zd59MwyNrxE8IPm2JiUDfKTU1VUlJSacdz8zMlMEwAwCIKsclOpdhqH0qf/xj2fGg9PGOgNQuW9bQH9ldTuJIIWh+lzvvvFPz58/Xxx9/rKqqKtXU1GjdunW6++67dd1116m0tLThCwDQuhzXdS7RohkPSo+a2lga0pCCPtK5l0jbVtpdUvxLyYgs1k4r3SnuuOMOSZFJQfUtmNaJRe23bNmixx9/XJZlyTAMbdmyxbY6ASAeOTJoJrkNJXskP8sxxrQvS4PKS3OpS58xUvVh6cBmu0uKb6ntI4u1GyxEe7KPPvrI7hIAIGE5MmhKkVbNshp2OIl1K7b7NX2wobQh02TUVkT2RUd0MOP8OxUUsD0qANjFsX3UdJ/Hj3c2+xS2jMjkIG87u8uJX+kdWKwdAOAojrwqmaalzBTGmcWLQEhavjUgedNkDfsxYSgaDJeUdQ7jMwEAjuLMK74hZaU6szQ0T0WtqTV7QlJ2V1kDJthdTvzJ7CS5HDsSBgCQoByZ5lyGoQ7pTGiIN9vKQtpZEZLRfbjU7Xy7y4kv2V0iE4EAAHAQRwZNSUpJMpTGDkFxZ/XOgCprw7IGTJSyu9pdTvzI7ipZdhcBAMCpHBs0JSkv3dHloZne3eJT0LRkDZ/BIuOtJaeb5OL3BQDgLI69MpmmRfd5nDJN6U+bfbI83shMdMYWtkxKJksbAQAcybFB0+Uy1DnTseWhhY75pFXFQSmjg6whl9ldTmzL7mJ3BQAAfCdHJ7nsVJeSaNSMW3sqw9p8MCQjf4DU6wd2lxO7sgokM2x3FQAAnMbRQdMwDHXKIGnGsy9Kgjp0LCyr71ipY2+7y4lNud0lF78nAADncXTQNE1LnTO5gMa75V/75AuasoqukNJy7S4ntrg8UkYnu6sAAOA7OTpoulyGumQRNBPBO1/5ZBruyOQgT7Ld5cSO7C7MNgcAOJbjr1CZKS61T2U9zXhXF5I+2haQUrNknX+FJH7mjXLOeYzPbCOHDh3S7NmzNXLkSI0ZM0YPPvig/H6/3WUBgKM5PmialqXu2Sx/kwgOVpv6v31BKa9Q6jfW7nKcz3BJ+QMYn9kGLMvS7NmzVVdXp6VLl+rxxx/Xxx9/rN/+9rd2lwYAjub4oGlI6pFL0EwUfz8YUkllODILPX+g3eU4W15PKSnF7ioSws6dO7VhwwY9+OCD6tOnj4YPH67Zs2frnXfesbs0AHA05wdNw1BWqksZKXSlJoqVO/yq9oVlDZkqtT/H7nKcK38A3eZtpEOHDnruueeUl5d3yvGamhqbKgKA2OD4oCnRfZ6I3v7Kp7BpRLapTE6zuxzncXmkzv3pNm8jmZmZGjNmTMP3pmnq5Zdf1gUXXNCk5zGM5n0hMTX3fOE8Q1NF83yJifRmSOqR49ZXB4J2l4I2EjKl97YENGVAO1nDrpLx2Uu03p2sY2/J47W7ioT16KOPavPmzXrjjTea9LjcXLYKReNkZ/MBG20j2udabARNw1BOmlvpXkM1AcvuctBGKutMfbo7qAt75ssaMFHGJsbDNcgfGAnetGi2uUcffVQvvviiHn/8cZ177rlNemxFRbWsZvwJc7tdBI8EU1lZq3DYbNPX5DxLTM051wyj8R+cYyJoSpFZnz1yPbRqJpgd5WHlpYd1brci6dhBac86u0uyn9srdepDyLTBokWL9Oqrr+rRRx/VhAkTmvx4y1KzgiYSE+cK2ko0z7WYGKNZr18nD6srJqDPdgdUURuWNWBCZLvFRNe5b2SMJtrUk08+qddee02LFy/W5MmT7S4HAGJCzARNwzDUzutip6AE9d7ffQqELFnDrpJSs+wux175AySzbbvUEl1xcbGeeuop/fznP9ewYcNUVlbW8AUA+H4xEzSlyOzz/p2T7C4DNjAlvft3nyxXkqwRMyR3gp4HyelSh15sO9nGPvroI4XDYS1ZskSjR48+5QsA8P1iqv/NZRjqnOlW+xRDR30MXkk0NQFpZXFAP+ydJ2vINBn/17QZv3Ghxwi7K0hIN910k2666Sa7ywCAmBNzzSKmZalvpwRtzYL2VZn66kBIxjn9pd5jzv6AeOJOkrqPiGw9CQBADIi5K5bLMNQ7z6OkmKscrWX9/qAOHA1JfS+ROjVteZmY1nUoa2cCAGJKTMY1t0sqzIupXn+0sg+2+lXrD8sqmi6ld7C7nOgzDKnwQrurAACgSWIyaErSeZ2TWOoowb37d59MuWSN+ImUlGJ3OdHVub+U2p594gAAMSUmg6ZhGMpIcakXrZoJzReSPtgakFIyZZ1/ZXyHsHMvlqzGL2m0b98+9e3bV++//77GjRunQYMG6eabb1ZVVZUkaf369frpT3+qoUOHauzYsXr11VejVDgAIJHFZNCUIjsFDe2SJFccZwuc3eEaU+tKglJuD6nfOLvLiY7O/aT0vGZNAnr66ae1ePFivfzyy9q0aZNeeOEFFRcX67rrrtOIESP05ptv6rbbbtPDDz+sDz74IArFAwASWcw2CRqGodQk6dyOHn19KGR3ObDRlkMhdUh3qUfhBVL1IWnfl3aX1LrOvSTSmtmMoDl79mwNHjxYkjR16lRt2rRJPp9P5513nubMmSNJKiwsVHFxsZ577jmNHz++NSsHACS4mG3RrDekwCtPzL8LtNRfigM6WheWNWiKlJVvdzmtp3M/KaNDs5c06t79my0709PTFQwGVVxc3BA+6xUVFam4uLhFpQIA8G0xHdEMw5DXLXYLgqTI5KCQKVnDfxLZQSfmGd+0ZjZTUtLpvxvJycmnHTNNU+FwuNmvAwDAd4npoClFwubAc5LkZQv0hBcypfe2+KWkFFnDZ0iuGD8pup/fotbM79OzZ09t3LjxlGPr169Xz549W/V1AACI+aApRdbVHHgOrZqQquosrd4VlNp3ljVwst3lNF9yWmRyk9X6W61effXV2rJlixYvXqxdu3Zp2bJleuWVVzRz5sxWfy0AQGKLi6DpMgz175yk9GSmoEPaWRHW1sMhGV2HSD1H2V1O85w3QXJ5orJkU35+vp555hmtWrVKU6dO1ZIlSzRv3jxdccUVrf5aAIDEFrOzzr/NMKQLunv14Ta/3aXAAT7fE1Rumlt5/cfLqD4sle+yu6TGyyuU8ge06Cm6dOmirVu3nnLstttua7h94YUXatmyZS16DQAAziYuWjSlSKtmfpZH3bNjfFweWs3yzT75g2ZkMfd22XaX0zgujzR4imQ2fwIQAABOETdBU4os4j6qh1dJZE1IMiW9s9kny5Uka8RPJY/X7pLOrvdoKSVDcsXVryYAIEHF1dXMMAx5PYbO7xoDgQJt4nhAWrEjILXLljX0R3aXc2bpeVKvH7T6LHMAAOwSd1c0l2Gob8ckdc6Iu7eGZio9ampjaUjq2CeyZ7hTDYrhWfIAAHyHuExjpmXposJkdgxCgy9Lgyo9Gpb6/H9S5/52l3O6LoOlnG6xv/YnAAAnicso5jIMpXrpQsepPtrmV40/LGvoNCmjk93lfCM5LbKcURTWzAQAwE5xGTSlSNjs1ylJ3XNoIcI33vm7T2G5ZI34iZSUanc5kfGY5/9YcidFZc1MAADsFLdBU4rMQr+oZ7IyU7iAIyIQkt7/OiAlp8sa9mP7J970+wcpuwtd5gCAuBTXQdMwDLlc0iV9UuSO63eKpiivNfX53qCU003Wef9oXyH5A6TCC2jJBADErbiPXy7DUPsUQxd0Z7wmvrH1cEg7K0IyeoyQuha1fQEZHaXBlzEuEwAQ1+I+aEqRls1eHZLUOy9udtxEK1i9M6Cq42FZAydK2V3b7oU9ydLwGZGWTFozAQBxLCGCpvTNrkHZ7RLmLaMR/rTZp6ApWcOvklIy2+ZFh14eeS3GZQIA4lzCpC7DMGQY0g/7JCuZhk2cEDIjYdPyJMsaMSOy13g09R4tdTqXLSYBAAkhoa52LsNQO6+hcX1TWMwdDY75pFU7g1JGR1lDpkbvhTr0ks69JHrPDwCAwyRc3HIZhrLbuXRJ72SGx6HBniNhbTkUkpE/UCq8sPVfoF2OVDRdEpN/AACJI+GCphQJm+e0d+uinsl2lwIHWbc3qEPVYVn9/kHq0Lv1njg1S7rwZycWZU/IXzkAQIJK2KueYRjqmevWsK5JdpcCB1m+xSdf0JR1/nQpLbflT5jaXvrBdZK3HZN/AAAJJ2GDphQJmwPO8eq8zswOwjfe+con0/BEtqn0tKDVOyVTuvA6yZtGyAQAJKSEDpr1hndLVmEuYRMRdSHpo20BKTVLVtF0Sc0YzJuSEQmZyemETABAwiJo6sSe6IVe9WJBd5xwsNrU+v2hyEzxvj9s2oOT0yMhMyWDkAkASGgETUW60CXposJk9etE2ETEVweC2lcVlnpfFNmXvDGS006ETBZkBwCAoHlCfdgc2T1ZQwqYIISIj7f7Ve0LyxpymZTZ+cx39raTLrguMgGIkAkAAEHzuwwp8GpEN6/dZcAh3v3Kp7BpRCYHedO++07edtIFP5PaZREyAQA4gaD5Pfp18uiiQi+LukMBU3rv64DkbRfZE/3ba2Gm5UoX3Rj5f0Jm3AsEApoyZYrWrFljdykA4HgEze9hGIYKcz26pHey3ITNhFd53NSne0JSVr6sgRO/+YfcntLoG09M/OHXKd75/X7NmTNH27dvt7sUAIgJzHw5A8Mw1CXLrUvPS9GKbX7VBdk+MJHtKAupQ7pLfbqdLx07KFmWVB862fEn7u3YsUO33367LIu/AwDQWFwdz8I4sTf61IGp6pDOf65E9+mugI7UhmUNmCgNmizJIGQmiM8//1yjRo3S66+/bncpABAzaNFsBJdhyOuxNKF/itbsDmh7WcjukmCTZI8UCJ90gEG8CePqq6+2uwQAiDkEzUZyGYYsy9KFPZPVMd2lz/YEFDbtrgptKTfNpR/2SVZKktGwHBbQFJw2aArOF7SVpp5rTbk/QbMJ6sNFzzyPctPdWrndp2M+xmslgn6dPBrWNbIKgYu//mim3NwMu0tAjMjO/p6l1IBWFu1zjaDZDC7DUGaKNGVAqj7fE9COcrrS41Wa19DowmR1ymTZIrRcRUW1mjOXyO12ETwSTGVlrcJt3G3GeZaYmnOuGUbjPzgTNJvJZRgyXJZ+UJisnrke/W2XX7UBWjfjSe88j0Z297JqEVqNZalZQROJiXMFbSWa5xqX0Bao70rvlOnStEGpOrcjuT0epCYZGntusn5QmCy3i65yAACai2TUCupbNy/ocaJ1c6df1X4+isaiHjluXdAjWZ4TPeVM+gEAoPkImq2kPpB0SHfpskGp+r+SgL4+FBJxMzZkJBsa3s2rrtkeWZZFwMQZbd261e4SACAmEDRbmcswJEMa3s2rXnkerd0b0KFq1kFyqiS3NDjfq/6dv/lVIGQCANA6CJpRYhiGstq5NKF/qvZXhfRFSUBVdbRvOoVhSOd28Kioi1ceN+MwAQCIBoJmFNWHl3My3Zo6MFU7y0PasD/I7HSbFbR3a0R3rzKSIz8fWjABAIgOgmYbcLm+Wei9R65HWw4F9VVp8NStDBF1eWkuDe2SpPz2HpmMwwQAIOoImm2ofvzmeZ2TdG6HJG0+GNS2w0H5WO89qrpkuTXwnCR1zHDLPLFYGF3lAABEH0HTBi7DkNcjDS5I0uD8JO2sCGnLwZAq65g01FpchlSY69HA/CRlprgImAAA2ICgaaP6Fs7CPI96d0jSwWNhbT4Y1P6qMMsiNVOSW+rbMUnndfYoJckli4AJAIBtCJoOUB+COma41DkzRTV+U5sPBlVcHlKQcZyNkpfuUu88jwpzPXKftN8V4zABALAPQdNB6gNnmtfQiG5eDevq1b6qsHaWh7T/aFgmzZynaOc1VJjrUe8OnobucVouAQBwDoKmA9W3wrkNqWu2W91zPAqELO05EtKeyrAOHkvc0JnikbrneFSY51GH9MjknvpoScgEAMBZCJoOVx+evB5DvTp41KdjkoJhS3srQyo5ETrjeZkkQ5Fu8XMy3cpv71aHdNcp/064BADAuQiaMaQ+VCW5DfXM8ahXXpIsy9LROkulx8I6dCysQ9WxHzwzU4yGYHlOplset9HQcsmYSwAAYgdBM0bVLwIf2erSUGaKofM6J0mSqupMHTga1sHqsI7Umo7eiSjZI2WlupTdzqXcNJfyM91K9UZmi1v6JlzTcgkAQOwhaMaJ+uApRYJbZrKh/ieCZ8i0dMxnqvK4paN1po76TB2tM1Xtt2S1UQZ1GZGWyux2LmWfCJY5aW6lJkXq/nawNAxDREsAAGIbQTNOnRw8PS5DOe3cykq1JLkbwpxpWar1WzoetOQLWvKHvvnyhRS5HbQUDEdCoKXI/0QCYf2XIZcR6c5PTTrx5f3mdjuvoZQkQ173N/WETUsu49RucIIlAADxh6CZQL7d/ewyDGWkGMpIibQo1s9kN4zmd1WbVqSV9EzP4XYRKQEASAQETUiKtCi6WyH/1e92BAAA4Dr7XQAAAICmI2gCAAAgKgiaAAAAiAqCJgAAAKKCoAkAAICoIGgCAAAgKgiaAAAAiAqCJgAAAKKCoAkAAICoIGgCAAAgKgiaAAAAiAqCJgAAAKKCoAkAAICoIGgCAAAgKgiaAAAAiAqCJgAAAKKCoAkAAICoIGgCAAAgKgiaAAAAiAqCJgA0gt/v1/z58zV8+HCNHj1azz//vN0lAYDjeewuAABiwSOPPKKvvvpKL774okpLS/XrX/9a+fn5uvTSS+0uDQAci6AJAGdx/Phx/fGPf9Szzz6rAQMGaMCAAdq+fbuWLl1K0ASAM6DrHADO4uuvv1YoFFJRUVHDsWHDhmnjxo0yTdPGygDA2QiaAHAWZWVlys7OltfrbTiWl5cnv9+vqqoq+woDAIej6xwAzqKuru6UkCmp4ftAINDo53G5JMtqfh1Z7dxy0zwQ1zJS3A23XTb9rF0ZeZKbeBDvXO2yvrndxHPNMBp/X84kADiL5OTk0wJl/fcpKSmNfp6cnIwW1TG8MLNFj0fsyM5Os+210waNs+210faifa7x2RgAzqJTp06qrKxUKBRqOFZWVqaUlBRlZhL+AOD7EDQB4Cz69+8vj8ejDRs2NBz74osvNGjQILns6t8EgBjAX0gAOIvU1FRdfvnluvfee/Xll1/qww8/1PPPP6+f/exndpcGAI5mWFZLhqYDQGKoq6vTvffeq/fff1/p6em68cYbdf3119tdFgA4GkETAAAAUUHXOQAAAKKCoAkAAICoIGgCAAAgKgiaAAAAiAqCJgAAAKKCoAkAAICoIGgCAGy1b98+9e3bV++//77GjRunQYMG6eabb1ZVVZUkaf369frpT3+qoUOHauzYsXr11VftLRgxYcGCBZo1a9YpxxYtWqS5c+fqwIEDmjVrloYMGaKxY8fqySefVDgcliQFg0EtWLBAo0aNUlFRkWbNmqVDhw7Z8RbiAkETAOAITz/9tBYvXqyXX35ZmzZt0gsvvKDi4mJdd911GjFihN58803ddtttevjhh/XBBx/YXS4cbvLkyVq9erVqamokSaZpavny5Zo8ebJuvfVW5ebmatmyZXrwwQf19ttv6+mnn5YkLV26VGvXrtXzzz+vN954Q7W1tXrggQfsfCsxzWN3AQAASNLs2bM1ePBgSdLUqVO1adMm+Xw+nXfeeZozZ44kqbCwUMXFxXruuec0fvx4O8uFw40aNUrt27fXihUrdNlll2ndunUKBoNyu90qLS3VH//4R7lcLhUWFurXv/617rrrLv3zP/+z9u3bp+TkZBUUFCgrK0sPPfRQQ+s6mo6gCQBwhO7duzfcTk9PVzAYVHFxcUP4rFdUVKTXXnutrctDjHG5XJo4caL+/Oc/67LLLtN7772n8ePHa8+ePaqqqtKwYcMa7muapnw+nyorKzVjxgy9++67Gj16tEaOHKlx48Zp+vTpNr6T2EbQBAA4QlJS0mnHkpOTTztmmmbDeDrgTKZMmaJrr71WNTU1+uCDD/Too49q69atKiws1FNPPXXa/TMyMpSdna0VK1Zo5cqVWrlypRYvXqx33nlHS5culWEYNryL2EbQBAA4Vs+ePbV27dpTjq1fv149e/a0qSLEkiFDhqhTp0569tlnZVmWRo4cqUAgoNLSUuXk5CgjI0OStHr1ar355pt65JFH9NZbb8nr9WrSpEmaOHGiNmzYoBkzZqiiokJ5eXk2v6PYw2QgAIBjXX311dqyZYsWL16sXbt2admyZXrllVc0c+ZMu0tDjJg0aZJeeOEFXXrppXK73Ro9erQKCgo0d+5cbd26VevWrdPdd9+t1NRUud1uVVdX6/7779enn36qkpISvf322+rcubOys7PtfisxiaAJAHCs/Px8PfPMM1q1apWmTp2qJUuWaN68ebriiivsLg0xYtKkSfL7/Zo0aZIkye12a8mSJTJNU1dddZVuu+02XXzxxVqwYIEkaebMmbr88ss1d+5cTZo0SZs3b9aSJUvkdrvtfBsxy7Asy7K7CAAAgGhYvXq17r77bn300UeMsbQBYzQBAEDcOXz4sL744gs988wzuvLKKwmZNqHrHAAAxJ3q6mrNnz9f2dnZuuGGG+wuJ2HRdQ4AAICooEUTAAAAUUHQBAAAQFQQNAEAABAVBE0AAABEBUETAAAAUUHQBAAgRowdO1Zvvvmm3WVIktasWaO+ffvaXQYcjgXbAQCIEW+88YbatWtndxlAoxE0AQCIETk5OXaXADQJXecAAETRvn371LdvX61cuVJjx45VUVGR7rvvPm3btk3Tp0/X0KFDdfPNN6umpkaBQEAPPvigxowZowEDBmjs2LF6/fXXG57r5K7za6+9VkuWLNGNN96owYMHa8KECVq1alXDffv27avf/e53GjVqlGbNmiVJWr9+vX76059q6NChGjt2rF599dWG+5/ttWtqajRnzhwVFRVpwoQJ2rRpU7T/0yEO0KIJAEAb+P3vf6+nnnpKO3bs0O23366//OUvWrhwoVJSUnTLLbfojTfeUE1NjVauXKn/+I//UG5urpYtW6ZFixbpH/7hH5SXl3facz799NNauHChFi5cqH//93/X3XffrRUrVsjlirQjffzxx3r11VdlmqaKi4t13XXX6frrr9f999+vjRs36t/+7d+Ul5en8ePH6/e///0ZX3vhwoXauXOnXn75ZR05ckTz5s1r6/+EiEG0aAIA0AZuueUW9evXT1OmTFFubq4mT56siy66SMOGDdOFF16onTt3ql+/frr//vs1dOhQde3aVbNmzVIwGNTu3bu/8zkvvvhiTZ8+Xd26ddMvfvELHThwQGVlZQ3/PmPGDBUWFqp37976n//5H5133nmaM2eOCgsL9aMf/UjXXHONnnvuOUk642tXV1frvffe04IFCzRgwACNGTNGt9xyS1v8Z0OMo0UTAIA20LVr14bbKSkpKigoOOX7QCCgcePGafXq1XrooYe0c+dObd68WZIUDoe/8zl79OjRcDs9PV2SFAqFGo6d/BrFxcUaPHjwKY8vKirSa6+9JklnfO1du3YpHA6rX79+DY8dNGhQk94/EhMtmgAAtAG3233K9/Xd2yd7/PHHNXfuXHk8Hl1++eWnjJH8LklJSacdsyyr4XZycvJ33q5nmmZDiG3qa3u93jP+OyDRogkAgGO89tpruvfeezVx4kRJ0o4dOySdGh6bq2fPnlq7du0px9avX6+ePXue9bULCwuVlJSkTZs26cILL5SkhhZP4Exo0QQAwCGysrL08ccfq6SkROvWrdOdd94pKTIjvKWuvvpqbdmyRYsXL9auXbu0bNkyvfLKK5o5c+ZZXzs9PV3Tpk3TokWLtHHjRq1Zs0ZPPvlki2tC/CNoAgDgEA888IC2bNmiyZMn66677tKll16qwYMHa8uWLS1+7vz8fD3zzDNatWqVpk6dqiVLlmjevHm64oorGvXad999t4qKinTDDTdo3rx5uuaaa1pcE+KfYbVGezwAAADwLbRoAgAAICoImgAAAIgKgiYAAACigqAJAACAqCBoAgAAICoImgAAAIgKgiYAAACigqAJAACAqCBoAgAAICoImgAAAIgKgiYAAACigqAJAACAqPj/AR3/ILb74+rVAAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "mainroad_count = cleaned_house_price['mainroad'].value_counts()   # 计算'cleaned_house_price' DataFrame中“mainroad”特征的频数分布。\n",
    "mainroad_label = mainroad_count.index   #获取“mainroad”特征的唯一值（即类别标签）。\n",
    "axes[0].pie(mainroad_count, labels=mainroad_label)  #绘制“mainroad”特征的饼图，展示各类别的频数分布。\n",
    "sns.barplot(cleaned_house_price, x='mainroad', y='price', ax=axes[1])  #绘制“mainroad”特征与房价的条形图，展示不同类别的平均房价。\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "此数据集中房子大多数位于主路。\n",
    "\n",
    "从平均房价与楼层数之间的柱状图来看，在主路的的房子价格也相应高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 是否有客人房与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:56.667848100Z",
     "start_time": "2024-04-07T14:57:56.550687700Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 700x350 with 2 Axes>",
      "image/png": "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LVqks846y85y4XCjRo1Samqqli9frvPOO08rV66U3++X2+1WUVGR/vrXv8rlcqlPnz667bbb9Lvf/U7/8z//o8LCQnk8HmVmZqpjx4564IEHGrrraD6CJgDAEbKyshoeJycny+/3Kz8/vyF81svJydGrr77a1uUhwrhcLo0bN07/+te/dN555+mdd97RWWedpe3bt6u8vFzHH398w3NN01RdXZ3Kysp0ySWX6O2339bJJ5+skSNH6swzz9QFF1xg4zuJbARNAIAjxMfHH7TN4/EctM00zYbr6YCfMn78eE2ZMkVVVVVaunSp5s6dq7y8PPXp00ePP/74Qc9PSUlRWlqali9frg8++EAffPCB5s2bp3/+85966aWXZBiGDe8ishE0AQCOlZ2drS+++KLRtlWrVik7O9umihBJhg0bpq5du+qpp56SZVkaOXKkfD6fioqKlJ6erpSUFEnSxx9/rDfeeEMPPfSQ3nzzTSUkJCg3N1fjxo3T6tWrdckll6i0tFQZGRk2v6PIw2QgAIBjXXbZZdqwYYPmzZunrVu3avHixXr55Zc1efJku0tDhMjNzdWzzz6rsWPHyu126+STT1ZmZqZmzJihvLw8rVy5UrNnz1ZSUpLcbrcqKyt17733asWKFSooKNBbb72lbt26KS0tze63EpEImgAAx+rRo4eefPJJffTRR5owYYIWLlyo22+/XRdeeKHdpSFC5Obmyuv1Kjc3V5Lkdru1cOFCmaapiy++WNdff71OPfVUzZo1S5I0efJknX/++ZoxY4Zyc3P1zTffaOHChXK73Xa+jYhlWJZl2V0EAABAOHz88ceaPXu23nvvPa6xtAHXaAIAgKizZ88effnll3ryySf1i1/8gpBpE4bOAQBA1KmsrNTMmTOVlpamq666yu5yYhZD5wAAAAgLOpoAAAAIC4ImAAAAwoKgCQAAgLAgaAIAACAsCJoAAAAIC4ImAAARrqCgQB9++KHdZQAHIWgCABDhZs6cqbVr19pdBnAQgiYAAADCgqAJAEArKigo0JVXXqlhw4ZpwoQJevrppzVmzBi98cYbGjNmTKPnTpkyRX/+858bvn711Vc1ZswY5eTkaMqUKcrLy2v43ooVKzRx4kQNGTJEZ5xxhl599VVJ0u23367PP/9cCxYs0JQpU1RYWKgBAwboscce04gRI3T33XdLkt5//33913/9l4YOHarc3Fy9++67Dfs2TVOLFi3SGWecoaFDhx70swcMGKB33nlH48aN07Bhw3TzzTeroKBAl19+uYYNG6bLLrtMxcXFYfn7RGQjaAIA0EoCgYCuvfZadejQQa+//rqmTp2qBQsWNOm1y5cv14IFCzR79mwtXrxYxx9/vC6//HJVVFQoGAzqxhtv1NixY/XOO+/ohhtu0F133aXNmzfr97//vXJycnT11Vc3Cq1fffWVXn/9dV1++eVasWKFrr/+ek2cOFF///vfddFFF+mmm27S+vXrJUmPPfaYnnnmGc2cOVOLFy9WZmamrrnmGtXU1DTsb/78+XrggQf05JNP6t1339WkSZM0adIkvfrqqyopKdFTTz3Vun+ZiApxdhcAAEC0+PTTT7Vr1y797//+r5KTk9WvXz99++23evvttw/72kWLFunaa6/V6aefLkm68cYb9e9//1v/+Mc/NGHCBJWXlysjI0M9e/ZUz5491aVLF3Xu3FkpKSmKj49Xu3bt1LFjR1VVVUmSrrjiCh111FGSpIcffljnnHOOrrzySklSdna21q5dq2eeeUZ//OMf9eKLL+rmm2/WGWecIUmaM2eOzjrrLP3jH//QpZdeKkkNXVpJGjRokLKzszVu3DhJ0tlnn62NGze23l8kogYdTQAAWkleXp6ys7OVnJzcsG348OFNem1+fr7mzp2rnJychj8bN27Utm3b1LFjR02aNEmzZs3S6aefrrvvvlspKSlKTU390f1lZmY22vfQoUMbfT8nJ0f5+fkqLS1VeXl5Q4iUpPj4eA0ePFj5+fkN23r16tXwODExsdH+ExMT5fP5mvQ+EVvoaAIA0Ercbrcsy2q0rf5rwzAOen4gEGh4HAwGNXPmTI0ePbrRc+pD65133qnJkydr2bJlWrZsmV577TU9/vjjOvXUUw9Zi8fjOeTjeqZpyjTNQ36vvh7TNBu9t+9zuehV4fA4SgAAaCX9+/fXtm3bGoavJenrr7+WFOoSVldXN2y3LEuFhYUNX2dnZ2v37t3Kyspq+PPEE09o9erVKikp0V133aWsrCz9+te/1uuvv64TTzxRy5cvb1Jd2dnZWrNmTaNtq1atUnZ2tlJSUpSRkaHVq1c3fM/v9+vrr79WdnZ2S/4agAZ0NAEAaCWjR49W9+7dNXv2bF133XXatGmTnn/+eaWmpmrw4MEqLy/XCy+8oNNOO00vvPCCKioqGl571VVX6fe//7169+6t4447Tq+99preeecdXXvttUpNTdXSpUtlWZauvvpqFRcXa+PGjTr77LMlSe3atdO2bdtUWlp6yLquvPJKXXbZZXruued06qmn6oMPPtDSpUv19NNPN3x//vz56tKli7KysvTUU0/J6/UqNzc3/H9piGp0NAEAaCUul0t//vOfVVxcrIkTJ+rxxx/XBRdcoPj4ePXu3Vu33XabFi5cqPPPP1+WZemcc85peG1ubq5uuukmzZ8/X+PHj9eKFSu0cOFC9e7dWwkJCXr88ce1ceNGnXfeebrxxhv1i1/8QhdddJEk6aKLLtJHH32ka6655pB1DRs2TA899JBeeeUVjR8/Xq+//roeffTRhmH6q6++WhdddJFmz56tCy64QLt379YLL7yg9PT08P+lIaoZ1g8vJgEAAC1SWlqqb775RqecckrDtkWLFunDDz/UCy+8YGNlgD3oaAIA0Ip+/etf6+WXX9bOnTv1ySef6LnnntPYsWPtLguwBR1NAABa0bJly/SnP/1J27ZtU0ZGhi699FJNnTr1kLPOgWhH0AQAAEBYMHQOAACAsCBoAgAAICwImgAAAAgLgiYAAADCgqAJAACAsCBoAgAAICwImgAAAAgLgiYAAADCgqAJAACAsPj/u7jdXnf5q50AAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "guestroom_count = cleaned_house_price['guestroom'].value_counts()\n",
    "guestroom_label = guestroom_count.index\n",
    "axes[0].pie(guestroom_count, labels=guestroom_label)\n",
    "sns.barplot(cleaned_house_price, x='guestroom', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "此数据集中房子大部分没有客人房。\n",
    "\n",
    "从平均房价与楼层数之间的柱状图来看，有客人房的的房子价格也相应高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 是否有地下室与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:56.780214300Z",
     "start_time": "2024-04-07T14:57:56.667848100Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 700x350 with 2 Axes>",
      "image/png": "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rQh/APB9CJoAcBz9+vVTQkKC1qxZU3ds1apVGjRokDxO9W8CQBTgNyQAHEdycrImTpyoO++8U+vWrdM777yjZ555RldddZXTpQGAq1nGnMjQdACID5WVlbrzzjv19ttvKyUlRddee62uueYap8sCAFcjaAIAACAi6DoHAABARBA0AQAAEBEETQAAAEQEQRMAAAARQdAEAABARBA0AQAAEBEETQCAo/Lz89WnTx+9/fbbOu+88zRo0CD97Gc/U2lpqSRp9erVuuyyy3TyySfrnHPO0V/+8hdnC0ZUmDVrlm644YYjjs2dO1czZszQnj17dMMNN2jIkCE655xz9OijjyoUCkmSgsGgZs2apeHDh2vo0KG64YYbtHfvXifeQkwgaAIAXOHxxx/X/Pnz9cILL+jzzz/Xs88+q23btunqq6/W6aefrldffVU333yzHnjgAS1ZssTpcuFyF1xwgZYvX67y8nJJkm3bWrx4sS644AJNnTpVmZmZWrRoke677z69/vrrevzxxyVJL774olasWKFnnnlGf/3rX1VRUaF7773XybcS1RKcLgAAAEmaNm2aBg8eLEmaMGGCPv/8c1VVVal///6aPn26JKl79+7atm2bnnrqKY0ZM8bJcuFyw4cPV+vWrbV06VJddNFFWrlypYLBoLxerwoKCvTKK6/I4/Goe/fu+s1vfqPbb79dN910k/Lz8+X3+5WVlaW0tDTdf//9da3raDiCJgDAFbKzs+tup6SkKBgMatu2bXXhs9bQoUP10ksvNXd5iDIej0fjx4/Xv/71L1100UV66623NGbMGO3cuVOlpaU69dRT6+5r27aqqqpUUlKiyZMn680339SoUaM0bNgwnXfeeZo0aZKD7yS6ETQBAK7g8/mOOub3+486Ztt23Xg64FguvPBCTZkyReXl5VqyZIkefPBBbdq0Sd27d9djjz121P1TU1OVnp6upUuXatmyZVq2bJnmz5+vN954Qy+++KIsy3LgXUQ3giYAwLW6deumFStWHHFs9erV6tatm0MVIZoMGTJE7du315NPPiljjIYNG6bq6moVFBQoIyNDqampkqTly5fr1Vdf1bx58/Taa68pMTFROTk5Gj9+vNasWaPJkyeruLhYbdq0cfgdRR8mAwEAXOvyyy/Xhg0bNH/+fO3YsUOLFi3Sn//8Z11xxRVOl4YokZOTo2effVbjxo2T1+vVqFGjlJWVpRkzZmjTpk1auXKl7rjjDiUnJ8vr9aqsrEz33HOPPvroI+Xl5en1119Xhw4dlJ6e7vRbiUoETQCAa3Xs2FFPPPGEPvzwQ02YMEELFy7UbbfdpksuucTp0hAlcnJyFAgElJOTI0nyer1auHChbNvWpZdeqptvvlmjR4/WrFmzJElXXHGFJk6cqBkzZignJ0dffvmlFi5cKK/X6+TbiFqWMcY4XQQAAEAkLF++XHfccYfeffddxlg6gDGaAAAg5uzbt0+rVq3SE088oR/96EeETIfQdQ4AAGJOWVmZZs6cqfT0dP3kJz9xupy4Rdc5AAAAIoIWTQAAAEQEQRMAAAARQdAEAABARBA0AQAAEBEETQAAAEQEQRMAgAjIz89Xnz59lJ+f73QpEZOXl6f333/f6TLgYgRNAADQKDNnztS6deucLgMuRtAEAABARBA0AQCIoH/9618666yzdMopp2j27Nmqrq6WJL3yyisaN26cBg4cqOHDh2vOnDkKhUKSpIKCAv3P//yPhg4dqhEjRmju3LkKBoOSJGOM/vCHP2jUqFE67bTTdMMNN6igoKDu9fr06aO33npL48eP15AhQzR9+nTl5eXpqquu0pAhQ3T55Zdr7969dfdfsmSJcnJyNGTIEP3oRz/Sp59+WvdvU6ZM0cKFC3Xttddq8ODBGjt2rD788ENJ0m233aZPP/1Ujz76qKZMmRLx7yOilAEAAE0uLy/P9O7d24wZM8asXLnSfPLJJ2b06NFmwYIF5pNPPjGDBw82ixcvNnl5eeatt94yAwcONIsXLzbGGHPDDTeYm266yeTm5ppVq1aZH/zgB+aFF14wxhjz/PPPm7Fjx5qPP/7YbN261cycOdOMHTvWVFdXG2OM6d27txk3bpxZs2aN+eijj8yAAQPMD37wA/PPf/7TfPnll+a8884zc+fONcYYs2HDBjN06FDzj3/8w+Tm5prnnnvODB482OTm5hpjjLnyyivN4MGDzd/+9jezc+dOM23aNDN69GgTCoXMwYMHzeTJk839999vSkpKmv8bjKhAiyYAABE0c+ZMnXrqqRo2bJh+8Ytf6KWXXlKLFi10zz336Pzzz1enTp00btw49e/fX1u2bJEk7d69W6mpqerYsaNOOeUU/fGPf9To0aMlSU899ZRuvfVWDR8+XD169NBdd92lAwcO1LU0StI111yjIUOG6IwzzlC/fv00cuRIjR8/Xv369dP555+vHTt2SJKefvppXXrppZowYYKys7N11VVX6ayzztJf/vKXuucaPXq0Jk2apC5duujGG2/Unj17VFhYqNTUVPl8PrVo0UJpaWnN9w1FVElwugAAAGLZ4MGD6273799fRUVF6ty5s5KSkrRgwQJt3bpVmzZt0s6dOzVq1ChJ0k9/+lPNnDlTS5Ys0VlnnaWcnBz1799fFRUV+uqrr/SrX/1KHs83bUVVVVXKzc2t+7pz5851t5OSkpSVlXXE17Xd99u2bdNbb72ll19+ue7fg8FgXR2S1LVr17rbKSkpkqSampoT/K4gXhA0AQCIoMMDoTFGkrRixQpNnz5dEydO1JlnnqmbbrpJc+bMqbvfRRddpBEjRuidd97RsmXLNG3aNF133XW69tprJUm/+93v1K1btyNep3Xr1nW3vV7v99ZwuFAopOuuu04TJ0484nhSUlLdbZ/Pd9Tjat8HcDx0nQMAEEGbN2+uu71u3Tp16NBB//jHP3TJJZforrvu0o9//GP16NFDu3btqgtwDz/8sIqLi3XZZZfpiSee0C9/+Uu9/fbbatWqlTIzM1VYWKjs7GxlZ2frpJNO0oMPPljXHd4Q3bp1U35+ft1zZWdn6+WXX9YHH3zQZO8f8Y2gCQBABM2dO1dr167V8uXLtWDBAl1zzTVKS0vT6tWrtWnTJm3ZskW33XabCgsL67q0t2/frrvuuksbN27Uli1b9P7776t///6SwuMvH3nkES1dulS5ubmaNWuWPvvsM3Xv3r3BtV1zzTX65z//qeeff167du3Sn/70J/3pT386orv8WFq0aKHc3FwVFxc3+LURH+g6BwAggi677DLdeOONCgaDuvTSS3X11VerqKhIt99+uyZPnqyUlBSNHj1al112mTZs2CBJuvPOOzVnzhxNmTJFNTU1Ovvss/X//t//kyRde+21qqio0OzZs1VeXq6BAwfq6aefPqLrvL5OPvlkzZs3T7///e81b948denSRf/7v/+r008/vV6P//GPf6yZM2fqpz/9qRYtWtTg10fsswwDLQAAABABdJ0DAAAgIgiaAAAAiAiCJgAAACKCoAkAAICIIGgCAAAgIgiaAAAAiAiCJgAAACKCoAkAAICIIGgCAAAgIgiaAAAAiAiCJgAAACKCoAkAAICI+P/PzmiXiHgFpgAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "basement_count = cleaned_house_price['basement'].value_counts()\n",
    "basement_label = basement_count.index\n",
    "axes[0].pie(basement_count, labels=basement_label)\n",
    "sns.barplot(cleaned_house_price, x='basement', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "此数据集中更多的房子没有地下室。\n",
    "\n",
    "从平均房价与地下室之间的柱状图来看，有地下室的的房子价格也相应高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 是否有热水器与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:56.891120700Z",
     "start_time": "2024-04-07T14:57:56.780214300Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 700x350 with 2 Axes>",
      "image/png": "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6dyWbbNLXU2RVqvea2nrIxERcaV2D6NPnTqVwYMHAzBx4kRWr15NU1MTxx57LNdddx0AxcXFlJaW8sgjjzB+/Pg2nb+2UWFTpLVq91rYtq3A6ZB77rnH6RJERFyr3Z3NA4eLUlNTCQaDlJaWtgTQ/YYNG0ZpaWnbijIMditsirRa2Ia6Jk07ERER92l32PT5fIccS0pKOuSYZVmEw21fVb67SWFTpC0qGywsrSIQERGX6dA7CBUVFfHxxx8fdGzFihUUFRW16TyWbbNHXRqRNqneq63CRETEfTo0bE6aNIk1a9Ywb948Nm3axKJFi3jqqae48MIL23SexoCNpawp0ia1jTam5myKiIjLdOg+m7169eKhhx5izpw5PProo/Tq1YubbrqJ73//+206z55mJU2Rttob0NQTERFxnzaHzYKCAtatW3fQsauvvrrl4zFjxrBo0aJ2F2RZNvWarynSZk1B/ZLWFuvXr2fz5s2ceOKJVFVVUVBQoNX8IiJR4L47CBlQp86mSJs1hSLznTWUfmS7d+/mmmuu4YMPPgAit5i888472bp1K3/84x/Jz893uEIRkfjSoXM2O4JpGDRoOFCkXQKhr39MorvjjjtISUnh/fffb9lB46677qJHjx7ccccdDlcnIhJ/XBc2AZqCTlcgEpsaNZT+td5++22uu+460tPTW45lZ2czY8YMPvzwQwcrExGJT64Mm0EtRRdpl4ZA5E5CcmTNzc2HHKuursbrdd/MIhGRWOfKsBkK681SpD0agzbKmkd25plncuedd7J+/XoMw2Dv3r28//773HLLLUyYMMHp8kRE4o4rf40Pam9qkXZpDNooax7ZDTfcwLx58zj33HMJBoOcc845mKbJD3/4Q2644QanyxMRiTsuDZt6uxRpj6agjanF6Efk9/u56aab+OUvf8nWrVsJh8McddRRdOnSxenSRETikiuH0YNajC7SLoEQ2ivya9TW1nLNNdfwyCOP0K9fP/r378/pp5/OtddeS11dndPliYjEHdeFzbClOWci7aVB9K/3q1/9iqqqKk4//fSWYwsWLKCyslJbH4mIRIHrhtFD6mqKtJs2cvh6S5cu5c9//jN9+/ZtOTZgwABuvfVWLrzwQgcrExGJT67rbIb0binSbhoV+HrJycl88cUXhxzX1kciItHhup+sIa1Ed7XiHA+jjvI5XYZ8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RESiRmFTRERERKJGYVNEREREokZhU0SknZqbm5k5cyYjRoxg7NixPProo06XJCLiOl6nCxARiVVz5szhk08+4fHHH6eiooIbb7yRXr16cdpppzldmoiIayhsioi0w969e3nuued4+OGHOe644zjuuONYv349CxcuVNgUETmAhtFFRNph7dq1hEIhhg0b1nJs+PDhfPzxx1iW5WBlIiLuorApItIOu3btIisrC7/f33KsW7duNDc3U1tb61xhIiIuo2F0EZF2aGxsPChoAi1/DwQCrT6PaYJtt6+GzC4ePGoZxK20ZE/Lx6ZD/5/NtG7gUVSIV2aXzC8/bsc1Zhite5yuIBGRdkhKSjokVO7/e3JycqvPk52d1u4aRhSnt/u5Ejuysro69rW7DjrFsa8tnSfa15h+JxYRaYe8vDxqamoIhUItx3bt2kVycjLp6QqBIiL7KWyKiLTDgAED8Hq9rFy5suXYRx99xKBBgzCdGvMUEXEh/UQUEWmHlJQUzjnnHG677TZWrVrFa6+9xqOPPspPfvITp0sTEXEVw7bbOzVdRCSxNTY2ctttt/HKK6+QmprKT3/6Uy6++GKnyxIRcRWFTRERERGJGg2ji4iIiEjUKGyKiIiISNQobIqIiIhI1ChsioiIiEjUKGyKiIiISNQobIqIiIhI1ChsioiIa5SXl1NSUsIrr7zCKaecwqBBg/j5z39ObW0tACtWrOCCCy5g6NChjBs3jqefftrZgiUmzJo1iylTphx0bPbs2UyfPp3t27czZcoUhgwZwrhx43jggQcIh8MABINBZs2axejRoxk2bBhTpkxhx44dTryEmKawKSIirrNgwQLmzZvHk08+yerVq3nssccoLS3loosuYuTIkbzwwgtcffXV3Hvvvbz66qtOlysud8YZZ7B06VLq6+sBsCyLJUuWcMYZZ3DVVVeRk5PDokWLuPvuu1m8eDELFiwAYOHChXz44Yc8+uijPP/88zQ0NHDXXXc5+VJiktfpAkRERP7T1KlTGTx4MAATJ05k9erVNDU1ceyxx3LdddcBUFxcTGlpKY888gjjx493slxxudGjR5ORkcEbb7zBWWedxfLlywkGg3g8HioqKnjuuecwTZPi4mJuvPFGZsyYwZVXXkl5eTlJSUnk5+eTmZnJPffc09Jll9ZT2BQREdcpLCxs+Tg1NZVgMEhpaWlLAN1v2LBhPPPMM51dnsQY0zQ5/fTT+cc//sFZZ53F3//+d8aPH09ZWRm1tbUMHz685bGWZdHU1ERNTQ3nn38+L7/8MmPHjmXUqFGccsopnHvuuQ6+ktiksCkiIq7j8/kOOZaUlHTIMcuyWubXiRzJmWeeyeTJk6mvr+fVV19l7ty5rFu3juLiYh588MFDHp+WlkZWVhZvvPEGb775Jm+++Sbz5s3jpZdeYuHChRiG4cCriE0KmyIiEhOKior48MMPDzq2YsUKioqKHKpIYsmQIUPIy8vj4YcfxrZtRo0aRSAQoKKiguzsbNLS0gBYunQpL7zwAnPmzOHFF1/E7/czYcIETj/9dFauXMn5559PVVUV3bp1c/gVxQ4tEBIRkZgwadIk1qxZw7x589i0aROLFi3iqaee4sILL3S6NIkREyZM4LHHHuO0007D4/EwduxY8vPzmT59OuvWrWP58uXccsstpKSk4PF4qKur48477+S9995j69atLF68mB49epCVleX0S4kpCpsiIhITevXqxUMPPcTbb7/NxIkTmT9/PjfddBPf//73nS5NYsSECRNobm5mwoQJAHg8HubPn49lWZx33nlcffXVnHzyycyaNQuACy+8kHPOOYfp06czYcIEPvvsM+bPn4/H43HyZcQcw7Zt2+kiRERERKJt6dKl3HLLLbz++uuac9mJNGdTRERE4trOnTv56KOPeOihh/jBD36goNnJNIwuIiIica2uro6ZM2eSlZXFJZdc4nQ5CUfD6CIiIiISNepsioiIiEjUKGyKiIiISNQobIqIiIhI1ChsioiIiEjUKGyKiIiISNQobIqIiBxGeXk5JSUllJeXt/m5gUCAZ599tsNr2rp1K2+99Va7nz958mR+//vfd2BFX7Jtm4ULF7b8/aabbuKmm26KyteS2KKwKSIi0sFefvllFixY0OHnnTlzJqtWrerw83aEDz/8kNtvv73l7zfffDM333yzgxWJW+gOQiIiIh0sEbew/s/XnJaW5lAl4jbqbIqIiBzBa6+9ximnnMKQIUOYMmUKu3fvBmDFihVccMEFDB06lHHjxvH0008DsGzZMmbMmMG2bdsoKSnhf//3fzn33HNbzve3v/2NkpIStm7dCkBDQwMDBw6krKyM+vp6ZsyYwZgxYxg4cCCnnXYar732GhAZlv7ggw944IEHmDx5MgDbt29nypQpDBkyhHHjxvHAAw8QDocBeOGFF/jRj37ElVdeyfDhw/nb3/4GwI4dO7jssssYNGgQp556Ku+++25LbXv27GH69Okcf/zxjB07ltmzZ9PU1NTy+ddff51zzjmHQYMGMWLECK677joaGhooLy/nJz/5CQAlJSUsW7bsoGH03//+91x//fX86le/4vjjj2fMmDE8/PDDLee1LIv77ruP0aNHM3r0aB588EHGjx/PsmXLOvD/pDhFYVNEROQIFi1axLx583jiiSf49NNPefjhhyktLeWiiy5i5MiRvPDCC1x99dXce++9vPrqqwwbNoyZM2fSo0cP3nnnHU488UTWrl1LXV0dEBluNgyDf//73y1/79mzJ4WFhdx5551s2rSJRx99lJdeeokRI0Zw8803EwgEuPnmmxk2bBiXXnopv//977Ftm6uuuoqcnBwWLVrE3XffzeLFiw8avl+xYgVHH300zz77LGPHjgXgxRdfZMKECbz88ssMHDiQG264oaUrefPNN1NXV8fTTz/Ngw8+yOrVq1uGxrds2cI111zDpEmT+Pvf/85vf/tb3n33XZ599ll69uzZMhf0nXfeYdiwYYf8Oy5ZsoSkpCQWLVrET3/6U+677z42bdoEwEMPPcSLL77Ir3/9ax577DHefPPNljAusU9hU0RE5AimT5/O4MGDGTJkCKeffjpr167l2Wef5dhjj+W6666juLiY//7v/+bHP/4xjzzyCH6/n7S0NDweD7m5ufTr14/c3FyWL18ORMLlt7/97Zaw+e6773LSSScBMHLkSG6//XYGDBhAnz59uPTSS6mtraWqqoq0tDR8Ph9dunQhMzOT999/n4qKCmbPnk1xcTGjR4/mxhtv5Iknnmip3TAMrrjiCvr27Ut2djYAp556Kueeey5HHXUUP/vZz9i1axdVVVVs2bKF1157jblz51JSUsLgwYOZPXs2ixYtoq6uDsuymDVrFueddx4FBQWMHTuWE044gfXr1+PxeMjIyAAgNzcXv99/yL9jZmYmN954I4WFhVx22WVkZmbyySefAPDUU0/xy1/+krFjx3Lsscdyzz33JORUhHilOZsiIiJHcNRRR7V8nJaWRnNzM6WlpQwePPigxw0bNoxnnnnmsOc48cQT+eCDDxg0aBCVlZVMmzaN3/3udwC89957XHfddQCcc845vPbaazz77LNs3LiRTz/9FKBlaPxApaWl1NbWMnz48JZjlmXR1NRETU0NADk5OSQnJx/0vN69e7d8nJqaCtDymizL4tvf/vZBj7csi7KyMgYOHIjf72f+/PmsX7+e9evXs2HDBs4+++wj/Ot9qaCgAI/H0/L3rl27EgqFqK6uZufOnQwaNKjlc8XFxS3hVWKfwqaIiMgRmOahg4BJSUmHHLMs67ChEGDs2LE88sgjDBkyhKFDhzJixAhKS0spLS1l8+bNjB49GoAbbriBFStWcPbZZ3PBBReQm5vL+eeff9hzhkIhiouLefDBBw/53P7FOYer88DAt59t24TDYdLS0vjLX/5yyOfz8vJYu3YtF1xwAePGjWPEiBFcfPHFPP7444et7XB8Pt9hv67X6235+D8/J/FBw+giIiJtVFRUxMcff3zQsRUrVlBUVAREhq8PNGbMGD7//HPeeustRowYQWZmJsXFxfzhD39g+PDhdOnShfr6el566SV+85vfMHXqVMaPH9+yGOlwwauoqIiKigqys7MpLCyksLCQ8vJy7r///kO+fmtfU11dHYZhtJyvqamJOXPmEAgE+Otf/8rIkSP59a9/zaRJkxg8eDBlZWUttbXnawKkp6fTvXv3li4uRPYT3bNnT7vOJ+6jsCkiItJGkyZNYs2aNcybN49NmzaxaNEinnrqKS688EIAUlJS2L17N5s3byYUCpGVlUX//v1ZvHhxy7D38OHD+X//7/+1zNf0+/2kpKTwyiuvUF5ezttvv92yOCcQCADQpUsXNm/eTFVVFWPHjiU/P5/p06ezbt06li9fzi233EJKSsphu5dfp2/fvpx00klMmzaNVatW8emnnzJjxgz27t1Leno6mZmZrFu3jlWrVrFp0ybuueceVq9e3VJbSkoKAJ988gnNzc1t+tqTJ0/m/vvv57333mPt2rXMmDEDaH+AFXdR2BQREWmjXr168dBDD/H2228zceJE5s+fz0033cT3v/99AL71rW9RWFjIxIkTWbNmDUDLavD9cz1HjBiBbdsHhc25c+eyZMkSzjjjDO655x6uuOIKcnNzW87xwx/+kLfffpvLLrsMj8fD/PnzsSyL8847j6uvvpqTTz6ZWbNmtft1zZkzh4KCAi6++GIuueQSioqKmDdvHhAJhEOHDuXiiy9m0qRJVFRUcOWVV/LZZ58BkS2PTjzxRH70ox+1+S5Hl156KePHj+fqq6/moosu4rvf/S6GYRx26F1ij2FrUoSIiIg46F//+hcDBw5sWTFfXV3NmDFjeP311ykoKHC4OvmmFDZFRETEUVdeeSXhcJhp06ZhGAa/+93vqKio4Pnnn3e6NOkAGkYXERERR916662YpsmPfvQjzjvvPCzL4g9/+IPTZUkHUWdTRERERKJGnU0RERERiRqFTRERERGJGoVNEREREYkahU0RERERiRqFTRERERGJGoVNEREREYkahU0RERERiRqFTRERERGJGoVNEREREYma/w9KpMjDNCoUgAAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "hotwaterheating_count = cleaned_house_price['hotwaterheating'].value_counts()\n",
    "hotwaterheating_label = hotwaterheating_count.index\n",
    "axes[0].pie(hotwaterheating_count, labels=hotwaterheating_label)\n",
    "sns.barplot(cleaned_house_price, x='hotwaterheating', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "此数据集中房子绝大部分没有热水器。\n",
    "\n",
    "从平均房价与热水器之间的柱状图来看，有热水器的的房子价格也相应高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 是否有空调与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.001403600Z",
     "start_time": "2024-04-07T14:57:56.891120700Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 700x350 with 2 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAApoAAAFUCAYAAACEBpymAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9+UlEQVR4nO3deXxU9b3/8fc5M5kkJCErBhIgrIKyRja1Wi2ubGqx1SuWqrVuLWJFUaTiUrQoemmvVUFFrVZEr/2BverDIsrVa3EDCrgBQggQCEsCCWSd9fz+GIhEtiQwOWdmXs/HIw8mZ5Z8Bg457/muhmVZlgAAAIATzLS7AAAAAMQmgiYAAAAigqAJAACAiCBoAgAAICIImgAAAIgIgiYAAAAigqAJAACAiCBoAgAAICIImgAAAIgIgiYA2MDn82n06NH6/PPPm/ycL774QpdeeqkGDBigK664QmvXro1ghQBw/AiaANDKvF6vJk2apPXr1zf5OSUlJbrhhht0wQUX6B//+Id69eql3/zmN/L5fBGsFACOD0ETAFrRhg0bdMUVV2jLli3Net4rr7yi/v37a8KECerSpYumTp0q0zS1cePGCFUKAMePoAkAreiLL77QsGHD9Prrrx9y3/LlyzV27Fj1799fY8aM0aJFixo978ILL2z4Pjk5We+//7569+7dKnUDQEu47S4AAOLJuHHjDnu8rKxMN910k26//XadffbZWrVqlaZMmaLs7GwNHjxYJSUlSkpK0sSJE7V8+XL16NFD9913n3r06NHK7wAAmo4WTQBwgHnz5unMM8/UL37xCxUUFOjSSy/VlVdeqZdeekmSVFtbq8cff1xDhgzRc889pw4dOujaa69VTU2NzZUDwJHRogkADrBx40b97//+rwoLCxuO+f1+de3aVZLkcrk0fPhwjR8/XpI0ffp0nXvuuVqyZInGjBljS80AcCwETQBwgEAgoDFjxujmm29udNztDv+abteuXUPolCSPx6P8/Hxt3769VesEgOag6xwAHKBr167avHmzCgoKGr4++OADvfXWW5KkgQMHat26dQ2P9/l8KikpUceOHe0qGQCOiaAJAA4wbtw4ff311/rTn/6kTZs26a233tKsWbOUl5cnSbrmmmu0aNEivfrqq9q0aZP+8Ic/KDExUeeee669hQPAURiWZVl2FwEA8ahXr156+eWX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/rrttttUV1fXcN/B3ePnnXdew58LFiw4pOt85cqVuuqqqzRw4EANHz5c8+fPb7hvypQpmjFjhn73u99pwIABOuecc/Tmm2823H9w1/n48eM1e/ZsXX/99erfv78uuugiffzxxw2Praio0IQJE1RYWKjzzjtP8+fPV69evY7vHwZRgaAJAMARVFVV6aabbtKPfvQjvf3223r++ee1ZcuWhiB5sG3btsnn82nBggUaPXq0XnvtNT355JO68847tXDhQqWkpOi2226TJD311FN64YUXNHXqVC1cuFD5+fn69a9/rdra2obX+8tf/qLf//73WrBggSoqKvTnP/9ZUrjL+qabbtKZZ56pN998Uz169NA///nPw9b/xhtvNPw5cuTIRvcVFRXpmmuu0ZAhQ7RgwQLdeuutevTRR7V48eKGx8ybN099+vTR22+/rQsvvFD333+/qqqqDvuz5syZo1GjRuntt99W7969NW3aNIVCIUnSpEmTtGfPHs2fP1/33XefnnrqqSb+CyDaETQBADiC+vp6/eY3v9Fvf/tbderUSYMGDdKFF16o9evXH/bxv/71r1VQUKC8vDy9/vrruvbaazVy5Eh16dJF9913n4YNG6b6+nq98soruu2223Teeeepe/fumj59ulwul/7nf/6n4bWuu+46nXHGGTr55JN11VVX6euvv5YUntyTlZWlyZMnq1u3brr11lvVr1+/w9ZzoHs7KyvrkG7+//7v/9app56qSZMmqVu3bvrpT3+qX/ziF5o7d27DY3r16qUbbrhBnTp10m233ab6+vojvvdzzjlHY8eOVefOnXXLLbdo+/btKisrU3FxsT755BM9+uij6t27t8455xxNmDCh6f8IiGqM0QQA4AjatWunyy67TH/961+1Zs0abdiwQevWrdNpp5122Md37Nix4XZxcbH69OnT8H1OTo7uvvtulZeXq7KyUgMGDGi4LyEhQX379lVRUVHDsYKCgobbqamp8vv9kqQNGzaod+/eMgyj4f5+/fo16j5viqKiIvXv37/RscLCQr322msN33fp0qVRDZIUCAQO+3pHeuy6deuUkZGhTp06Ndw/cODAZtWK6EXQBADgCHbu3KnLL79cffr00ZlnnqkrrrhCH374oVavXn3YxycmJjbcdrsPf4k9+DEHCwaDDV3NUjh8HskPJ/kkJCQ0O2gero5QKKRgMHjUGo60WM2RHut2u4/4HMQ+us4BADiCxYsXKz09Xc8884yuueYaDR48WCUlJU0KTgUFBVq7dm3D9xUVFTr99NO1d+9e5eTkaNWqVQ33+f1+ffPNN+ratesxX7dnz5769ttvGwXCNWvWHPaxB7d6/lDXrl0PCcwrV65sUg3N0b17d+3du7fRZKYDwwAQ+wiaAAAcQUZGhkpLS/Xpp5+qpKREzz77rN577z35fL5jPnf8+PF66aWX9P7776u4uFj333+/OnbsqI4dO+raa6/VE088oSVLlqioqEjTpk2T1+s9ZMLO4YwaNUp1dXV6+OGHtXHjRs2dO1crVqw47GOTk5MlSWvXrlVNTU2j+8aNG6c1a9Zo1qxZKi4u1sKFC/Xqq6/q6quvbsLfTNN17dpVZ511lqZOnaq1a9dq6dKleuKJJ07oz4Bz0XUOAMARjBgxQsuWLdPEiRNlGIb69eunu+++W3/5y1+OGTYvvfRS7dy5Uw8++KCqq6s1dOjQhoD1q1/9StXV1Zo2bZqqq6tVWFiov/3tb01amzI9PV1z587VAw88oEsvvVRDhgzRpZdeethW1qysLF1yySX63e9+pzvvvLPRfXl5eXrmmWc0c+ZMvfDCC8rLy9OUKVN0+eWXN+NvqGlmzJihadOm6YorrlBubq7Gjh3baNIRYhc7AwEAgIipq6vTJ598oh//+McN4zjfffddPfbYY1qyZInN1SHS6DoHAAARk5iYqKlTp+qpp55SSUmJVq5cqaeeekoXXXSR3aWhFdCiCQAAImr58uWaOXOm1q1bp9TUVF1yySW6/fbb5fF47C4NEUbQBAAAQETQdQ4AAICIIGgCAAAgIgiaAAAAiAiCJgAAACKCoAkAAICIIGgCAAAgIgiaAAAAiAiCJgAAACKCoAkAAICI+P9bsQBdNpnMEgAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "airconditioning_count = cleaned_house_price['airconditioning'].value_counts()\n",
    "airconditioning_label = hotwaterheating_count.index\n",
    "axes[0].pie(airconditioning_count, labels=airconditioning_label)\n",
    "sns.barplot(cleaned_house_price, x='airconditioning', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "此数据集中更多的房子没有空调。\n",
    "\n",
    "从平均房价与空调之间的柱状图来看，有空调的的房子价格也相应高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 是否位于城市首选社区与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.115838100Z",
     "start_time": "2024-04-07T14:57:57.001403600Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 700x350 with 2 Axes>",
      "image/png": "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n322fD6fRowYoYKCAk2dOlXr1q3TsmXLdMcddygjI0M+n08VFRW6++679fHHH6u4uFhz585Vx44dlZeX5/ZLiUsETQCAZ3Xu3FlPPPGEFi1apLFjx2r27Nm67bbbdOGFF7pdGuLE6NGjFQgENHr0aEmSz+fT7Nmz5TiOLrroIl133XU67bTTNH36dEnSxIkTdf7552vq1KkaPXq0PvvsM82ePVs+n8/NlxG3LGOMcbsIAACAWFi8eLHuuOMOLViwgDmWLmCOJgAASDg7d+7U8uXL9cQTT+hHP/oRIdMlDJ0DAICEU1FRoWnTpikvL0+XX3652+UkLYbOAQAAEBN0NAEAABATBE0AAADEBEETAAAAMUHQBAAAQEwQNAEAABATBE0AAOLUggUL9B//8R8aNGiQFi1a5HY5wCHY3ggAgDh13nnnqV+/frrmmmuUn5+v9PR0t0sCDsLJQAAAxKmKigoNHTpUBQUFbpcCHBZD5wAAtJCtW7eqT58+mjt3rk499VQNGzZMd911l8LhsP7whz/o6quv1sSJEzV8+HAtWbJEwWBQd911lwoLC1VYWKibb75Z5eXlkqSRI0dq27ZtmjZtmkaOHClJWr58ucaPH69BgwZp8ODB+tnPfqadO3dKkt544w1dfPHFuuaaazR06FD93//9n4wxevTRRzVixAgNGzZMkydPVklJSX29GzZs0JVXXqkhQ4ZowIABmjBhgoqKilr87w3xi6AJAEALe+SRR/TQQw/pkUce0bvvvqs//OEPkqJzLseMGaPnn39eAwcO1KxZs7RmzRo99dRTeuGFF1RZWanrr79ekvT666+rY8eOmjZtml5//XVVVFToqquu0ve//329/fbbeuaZZ/Tll1/qySefrP+6K1asUK9evfS///u/GjFihF588UXNnTtXv/3tb/Xqq68qPz9fV1xxhUKhkBzH0eTJk1VQUKC//OUveuWVVxSJRPTAAw+48neG+MTQOQAALWzq1KkaNmyYJOn666/Xgw8+qPHjx6tt27YaP368JKmmpkYvvvii/vznP6tPnz6SpPvvv1+FhYVat26d+vTpI5/Pp6ysLLVp00alpaW6+uqrdfnll8uyLHXt2lU//OEP9emnn9Z/Xcuy9POf/7x+LufTTz+tX/7ylyosLJQk/frXv9aIESO0aNEinXzyybr44os1YcIEtWrVSpL0X//1X3r66adb7O8J8Y+gCQBACzvxxBPrb/fv31979uxRWVnZQXMti4uLFQqFdPHFFx/0uY7jaPPmzfXhs067du10/vnn649//KPWrl2rDRs2aN26dQd9rQMXDFVVVemrr77SDTfcINv+eoCztrZWmzdv1siRIzV+/Hi99dZbWrNmjTZu3KjPPvtMbdu2bda/CyQ2giYAAC0sNTW1/rbjOJIk27bl9/vr749EIpKkl156qb6jWCc/P/+Q59yxY4cuvPBC9evXT6eccoouuugivf/++1q1alX9Yw73/L///e/VvXv3g54rJydHVVVV+tGPfqS8vDyNHDlSY8aM0caNG/Xss8829WUjCRE0AQBoYWvXrtXw4cMlSWvWrFH79u2Vm5t70GO6du0qn8+n8vJy9e3bV5K0e/du/eIXv9Dtt9+uzMzMgx4/f/585eTk6Iknnqi/709/+pO+bRfD7Oxs5efnq7S0VKeffrokKRgM6sYbb9SVV16p8vJy7dy5U3PnzlVKSjQufPjhh9/6fMDhsBgIAIAWdvfdd2v16tX66KOP9Pvf/14TJ0485DGZmZn68Y9/rDvvvFOffPKJNmzYoFtuuUVbtmxRly5dDnl8bm6uSkpK9PHHH6u4uFhPPvmk3n33XQWDwW+t47LLLtPvfvc7LVy4UJs3b9b06dP1r3/9Sz169FBubq6qq6v13nvvaevWrXrttdc0Z86c73w+4JvoaAIA0MJGjx6tq666So7jaPz48Zo0aZIeffTRQx5322236b777tOUKVMUCoV00kkn6cknn5TP5zvksaNGjdLSpUs1ZcoUWZalAQMG6NZbb9Uf/vCHbw2HV155paqqqjRjxgxVVlaqf//+euaZZ5STk6MhQ4bommuu0a9+9SsFAgH16dNHM2bM0C9+8Qvt2LFDHTp0aPa/FyQeTgYCAKCFbN26VT/4wQ+0YMGCw3YlgUTD0DkAAABigqAJAACAmGDoHAAAADFBRxMAAAAxQdAEAABATBA0AQAAEBMETQAAAMQEQRMAAAAxQdAEAABATBA0AQAAEBMETQAAAMQEQRMAAAAx8f8BEeXYFV1TNloAAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "prefarea_count = cleaned_house_price['prefarea'].value_counts()\n",
    "prefarea_label = prefarea_count.index\n",
    "axes[0].pie(prefarea_count, labels=prefarea_label)\n",
    "sns.barplot(cleaned_house_price, x='prefarea', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "此数据集中大部分房子不在城市首选社区。\n",
    "\n",
    "从平均房价与城市首选社区之间的柱状图来看，在城市首选社区的的房子价格也相应高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 装修状态与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.336678500Z",
     "start_time": "2024-04-07T14:57:57.118470600Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 700x350 with 2 Axes>",
      "image/png": "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k6nAh0cFRxERuSHDMChevDizZs1i//79zJkzRz2Pt5C/vz9fffUVmzZtYuzYsep5vEVKlCjBoEGDcHd3p2fPnsTHxxf48KjgKCIiN2S1WklLS6NGjRq88cYbbN++nfnz56vn8RZJTU0lLCyMWbNmsXr1at5//30uXLjg7LLyNYvFgpubGw0bNuSZZ57BZrPxyiuvkJiYWKDDo4KjiIjckMlkwt3dnW+//ZalS5fi5eXF0qVLee+99zh06JCzy8vXDMPAw8ODlStXsmzZMoKDg1mwYAETJkzQsHUuMpvNAKxfv54PPviAuLg4Nm7cSO/evQt0z6N2jhERkSw5evQojz/+OP3796du3bpcvnyZt956i1q1atG1a1fCwsKAjGvyDMNwcrX5y6FDh+jWrRuvvPIKYWFhJCUl8fLLL9O0aVNeeeUVAgICnF1ivhQREUH37t157bXXCA8P58iRIyxdupTU1FQ++OADfHx8sFqtmEwFpx+u4LxTERHJkXPnzlGsWDFat25NaGgodevW5e233+a3335j5syZREZGAig05oLTp08TEBBA69atueOOO2jYsCELFy7kxx9/5O2339awdS6Ji4ujVKlS3HfffVSuXJnWrVszaNAgvLy8ePHFF0lKSipwPY8KjiIikiUBAQGkpaWxc+dOIKNnsUqVKgwdOpTVq1czY8YMTZjJJUWKFMFqtdovC0hPT6d8+fKMHz+er776ismTJys8OojNZiNzMPby5cucPn3a/pjVaqVy5cq0a9eObdu28fTTT9tnWxcUBeediohIlmV+cCYmJpKamkpqaiohISGEhobyzTffEBERYe9ZLFq0KBUqVCAmJobAwEBnlp0vZLZ9ZrsDVKxYER8fHxYtWsT58+dxc3MDwMvLi9DQUHbt2oWuPMuZzPZLT0+39yA2b96c6tWr07t3bywWiz0gli9fnho1alCiRAkuXbrktJqdQdc4iojINTKvUVy/fj3Lli3j5MmTVK1alQcffJAKFSrw3HPPUa1aNZo2bcodd9zBokWLOHnyJCNGjMDf39/Z5bu0zLbfsGEDK1as4PDhwzRu3Jh77rmH4OBg2rZtywMPPECrVq2oVKkSCxYs4OLFiwwePJgiRYo4u3yXldnuGzduZNGiRVy6dImSJUvSrVs3LBYLU6ZMwWKxMHHiRCwWC19//TU7duzg/fffx9fX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F+fOnWPWrFns3LmTrl278uijj7JmzRref/99kpOTSUlJYdq0aVSrVs3Z5bscBUcRkXxmzZo1vPPOOwCEhYUxdepUAIYMGcL333/PpEmTuOeee/jtt9/w8PAgICBAPS8Oktm+hQoVIjQ0lP/9739AxoLfmzdvZvbs2YSHh7NlyxY8PT0JDg6mZMmSTq7a9a1Zs4YpU6ZgtVq5//776dq1Kx4eHsycOZOdO3fy3HPP8dBDD7F7927i4+MJDQ1Vu98kBUcRkXzk999/p3fv3nTq1IkiRYowd+5cgoKC+OSTTzCbzQwZMoR169YxduxY7rvvPmeXm6/s3buX5557ji5dumAYBsuXLyckJISPP/4YyOh53LZtG9OmTaNOnTpOrtb1ZfY0Hjt2jEcffZTevXtz9uxZDh06ROnSpenfvz+enp68//77/Pbbb3Tq1IkOHTo4u2yXp+AoIpJPREZGsnr1ai5evMgbb7wBZMysfuKJJyhdurQ9PPbt25e9e/eycuVKrRXoIBEREezcuZOoqCgGDx5Meno6Bw4coG/fvpQrV46PPvoIgB49enDkyBG+++47PD09nVy169uxYwc//fQTqampDBo0CMiY6LV06VICAwPp168fXl5eTJo0iaioKKZNm4avr6+u480BBUcREReW2ety5swZxo4dy88//0zZsmX59NNP7Yt3nzp1iqeeeooyZcowZ84czGYz586d0/B0Dl19Pemrr77K5s2bufPOO/nggw/w8vLCarWyb98++vXrR4UKFZg9ezYAZ8+e1TBpDlz9Pb927VpGjx7NXXfdxZw5c+zHrFy5kmXLllGiRAlefPFFChUqhNVq1QxqB9AGpCIiLirzA3TDhg0MGjSIF154gfbt25OSksKSJUtITk4GoEyZMsydO5fff/+dF154AYDixYs7s/R8wTAMfvjhB1577TXGjRvHI488wh9//MGPP/5ISkoKJpOJ8PBwpk6dys6dO+nTpw+AQmMOGYbB999/z5NPPkmVKlV48cUX2bJlCz/++KP9mFatWvHoo48SGRnJrFmzKFKkiEKjg2g5HhERF2UYBr///jtffPEF9erVo3LlygwcOJCRI0eyatUqPDw8ePjhh+2TML766ivS0tLsz5WcOXToEPPnz7cvoj5u3Dj69OnDzJkzcXd356677sLDw4Pq1auzYMEC7QbjIFFRUXzz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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "furnishingstatus_count = cleaned_house_price['furnishingstatus'].value_counts()\n",
    "furnishingstatus_label = furnishingstatus_count.index\n",
    "axes[0].pie(furnishingstatus_count, labels=furnishingstatus_label)\n",
    "sns.barplot(cleaned_house_price, x='furnishingstatus', y='price', ax=axes[1])\n",
    "axes[1].set_xticklabels(axes[1].get_xticklabels(), rotation=45, horizontalalignment='right')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "此数据集中简装和毛坯的房子较多，1/4左右房子为精装。\n",
    "\n",
    "从平均房价与装修状态之间的柱状图来看，精装的房子价格高于简装，简装高于毛坯。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 分析数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在分析步骤中，我们将利用`cleaned_house_price`的数据，进行线性回归分析，目标是得到一个可以根据房屋各个属性对价格进行预测的数学模型。\n",
    "\n",
    "我们先引入做线性回归所需的模块。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.343989800Z",
     "start_time": "2024-04-07T14:57:57.336678500Z"
    }
   },
   "outputs": [],
   "source": [
    "import statsmodels.api as sm"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "然后可以创建一个新的DataFrame`lr_house_price`，让它作为我们进行线性回归分析所用的数据。\n",
    "\n",
    "和`cleaned_house_price`区分开的原因是，我们在进行回归分析前，还可能需要对数据进行一些准备，比如引入虚拟变量，这些都可以在`lr_house_price`上执行。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.345229Z",
     "start_time": "2024-04-07T14:57:57.339864500Z"
    }
   },
   "outputs": [],
   "source": [
    "lr_house_price = cleaned_house_price.copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由于数据里存在分类变量，无法直接建立线性回归模型。我们需要引入虚拟变量，也就是用0和1分别表示是否属于该分类。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.356845100Z",
     "start_time": "2024-04-07T14:57:57.348257700Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "        price  area  bedrooms  bathrooms  stories  parking  mainroad_yes  \\\n0    13300000  7420         4          2        3        2             1   \n1    12250000  8960         4          4        4        3             1   \n2    12250000  9960         3          2        2        2             1   \n3    12215000  7500         4          2        2        3             1   \n4    11410000  7420         4          1        2        2             1   \n..        ...   ...       ...        ...      ...      ...           ...   \n540   1820000  3000         2          1        1        2             1   \n541   1767150  2400         3          1        1        0             0   \n542   1750000  3620         2          1        1        0             1   \n543   1750000  2910         3          1        1        0             0   \n544   1750000  3850         3          1        2        0             1   \n\n     guestroom_yes  basement_yes  hotwaterheating_yes  airconditioning_yes  \\\n0                0             0                    0                    1   \n1                0             0                    0                    1   \n2                0             1                    0                    0   \n3                0             1                    0                    1   \n4                1             1                    0                    1   \n..             ...           ...                  ...                  ...   \n540              0             1                    0                    0   \n541              0             0                    0                    0   \n542              0             0                    0                    0   \n543              0             0                    0                    0   \n544              0             0                    0                    0   \n\n     prefarea_yes  furnishingstatus_semi-furnished  \\\n0               1                                0   \n1               0                                0   \n2               1                                1   \n3               1                                0   \n4               0                                0   \n..            ...                              ...   \n540             0                                0   \n541             0                                1   \n542             0                                0   \n543             0                                0   \n544             0                                0   \n\n     furnishingstatus_unfurnished  \n0                               0  \n1                               0  \n2                               0  \n3                               0  \n4                               0  \n..                            ...  \n540                             1  \n541                             0  \n542                             1  \n543                             0  \n544                             1  \n\n[545 rows x 14 columns]",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>price</th>\n      <th>area</th>\n      <th>bedrooms</th>\n      <th>bathrooms</th>\n      <th>stories</th>\n      <th>parking</th>\n      <th>mainroad_yes</th>\n      <th>guestroom_yes</th>\n      <th>basement_yes</th>\n      <th>hotwaterheating_yes</th>\n      <th>airconditioning_yes</th>\n      <th>prefarea_yes</th>\n      <th>furnishingstatus_semi-furnished</th>\n      <th>furnishingstatus_unfurnished</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>13300000</td>\n      <td>7420</td>\n      <td>4</td>\n      <td>2</td>\n      <td>3</td>\n      <td>2</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>12250000</td>\n      <td>8960</td>\n      <td>4</td>\n      <td>4</td>\n      <td>4</td>\n      <td>3</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>12250000</td>\n      <td>9960</td>\n      <td>3</td>\n      <td>2</td>\n      <td>2</td>\n      <td>2</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>12215000</td>\n      <td>7500</td>\n      <td>4</td>\n      <td>2</td>\n      <td>2</td>\n      <td>3</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>11410000</td>\n      <td>7420</td>\n      <td>4</td>\n      <td>1</td>\n      <td>2</td>\n      <td>2</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>540</th>\n      <td>1820000</td>\n      <td>3000</td>\n      <td>2</td>\n      <td>1</td>\n      <td>1</td>\n      <td>2</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>541</th>\n      <td>1767150</td>\n      <td>2400</td>\n      <td>3</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>542</th>\n      <td>1750000</td>\n      <td>3620</td>\n      <td>2</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>543</th>\n      <td>1750000</td>\n      <td>2910</td>\n      <td>3</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>544</th>\n      <td>1750000</td>\n      <td>3850</td>\n      <td>3</td>\n      <td>1</td>\n      <td>2</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n    </tr>\n  </tbody>\n</table>\n<p>545 rows × 14 columns</p>\n</div>"
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lr_house_price = pd.get_dummies(lr_house_price, drop_first=True, columns=['mainroad', 'guestroom',\n",
    "                                                         'basement', 'hotwaterheating',\n",
    "                                                         'airconditioning','prefarea', \n",
    "                                                         'furnishingstatus'], dtype=int)\n",
    "lr_house_price"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "接下来，我们要把因变量和自变量划分出来。\n",
    "\n",
    "因变量是`price`变量，因为我们进行线性回归的目的，是得到一个能根据其它可能对房屋价格有影响的变量，来预测销售价格的模型。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.358678200Z",
     "start_time": "2024-04-07T14:57:57.358036300Z"
    }
   },
   "outputs": [],
   "source": [
    "y = lr_house_price['price']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们可以把除价格之外的都纳入自变量，但需要查看它们之间的相关性。如果其中有些变量之间相关性很高，会导致共线性。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.362777600Z",
     "start_time": "2024-04-07T14:57:57.358678200Z"
    }
   },
   "outputs": [],
   "source": [
    "X = lr_house_price.drop('price', axis=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "一般我们认为，当相关系数的绝对值大于0.8的时候，可能导致严重共线性，所以我们检查的时候，找绝对值大于0.8的值即可。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.430732700Z",
     "start_time": "2024-04-07T14:57:57.362777600Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "                                  area  bedrooms  bathrooms  stories  parking  \\\narea                              True     False      False    False    False   \nbedrooms                         False      True      False    False    False   \nbathrooms                        False     False       True    False    False   \nstories                          False     False      False     True    False   \nparking                          False     False      False    False     True   \nmainroad_yes                     False     False      False    False    False   \nguestroom_yes                    False     False      False    False    False   \nbasement_yes                     False     False      False    False    False   \nhotwaterheating_yes              False     False      False    False    False   \nairconditioning_yes              False     False      False    False    False   \nprefarea_yes                     False     False      False    False    False   \nfurnishingstatus_semi-furnished  False     False      False    False    False   \nfurnishingstatus_unfurnished     False     False      False    False    False   \n\n                                 mainroad_yes  guestroom_yes  basement_yes  \\\narea                                    False          False         False   \nbedrooms                                False          False         False   \nbathrooms                               False          False         False   \nstories                                 False          False         False   \nparking                                 False          False         False   \nmainroad_yes                             True          False         False   \nguestroom_yes                           False           True         False   \nbasement_yes                            False          False          True   \nhotwaterheating_yes                     False          False         False   \nairconditioning_yes                     False          False         False   \nprefarea_yes                            False          False         False   \nfurnishingstatus_semi-furnished         False          False         False   \nfurnishingstatus_unfurnished            False          False         False   \n\n                                 hotwaterheating_yes  airconditioning_yes  \\\narea                                           False                False   \nbedrooms                                       False                False   \nbathrooms                                      False                False   \nstories                                        False                False   \nparking                                        False                False   \nmainroad_yes                                   False                False   \nguestroom_yes                                  False                False   \nbasement_yes                                   False                False   \nhotwaterheating_yes                             True                False   \nairconditioning_yes                            False                 True   \nprefarea_yes                                   False                False   \nfurnishingstatus_semi-furnished                False                False   \nfurnishingstatus_unfurnished                   False                False   \n\n                                 prefarea_yes  \\\narea                                    False   \nbedrooms                                False   \nbathrooms                               False   \nstories                                 False   \nparking                                 False   \nmainroad_yes                            False   \nguestroom_yes                           False   \nbasement_yes                            False   \nhotwaterheating_yes                     False   \nairconditioning_yes                     False   \nprefarea_yes                             True   \nfurnishingstatus_semi-furnished         False   \nfurnishingstatus_unfurnished            False   \n\n                                 furnishingstatus_semi-furnished  \\\narea                                                       False   \nbedrooms                                                   False   \nbathrooms                                                  False   \nstories                                                    False   \nparking                                                    False   \nmainroad_yes                                               False   \nguestroom_yes                                              False   \nbasement_yes                                               False   \nhotwaterheating_yes                                        False   \nairconditioning_yes                                        False   \nprefarea_yes                                               False   \nfurnishingstatus_semi-furnished                             True   \nfurnishingstatus_unfurnished                               False   \n\n                                 furnishingstatus_unfurnished  \narea                                                    False  \nbedrooms                                                False  \nbathrooms                                               False  \nstories                                                 False  \nparking                                                 False  \nmainroad_yes                                            False  \nguestroom_yes                                           False  \nbasement_yes                                            False  \nhotwaterheating_yes                                     False  \nairconditioning_yes                                     False  \nprefarea_yes                                            False  \nfurnishingstatus_semi-furnished                         False  \nfurnishingstatus_unfurnished                             True  ",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>area</th>\n      <th>bedrooms</th>\n      <th>bathrooms</th>\n      <th>stories</th>\n      <th>parking</th>\n      <th>mainroad_yes</th>\n      <th>guestroom_yes</th>\n      <th>basement_yes</th>\n      <th>hotwaterheating_yes</th>\n      <th>airconditioning_yes</th>\n      <th>prefarea_yes</th>\n      <th>furnishingstatus_semi-furnished</th>\n      <th>furnishingstatus_unfurnished</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>area</th>\n      <td>True</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>bedrooms</th>\n      <td>False</td>\n      <td>True</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>bathrooms</th>\n      <td>False</td>\n      <td>False</td>\n      <td>True</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>stories</th>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>True</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>parking</th>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>True</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>mainroad_yes</th>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>True</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>guestroom_yes</th>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>True</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>basement_yes</th>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>True</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>hotwaterheating_yes</th>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>True</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>airconditioning_yes</th>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>True</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>prefarea_yes</th>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>True</td>\n      <td>False</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>furnishingstatus_semi-furnished</th>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>True</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>furnishingstatus_unfurnished</th>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>False</td>\n      <td>True</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "execution_count": 103,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.corr().abs() > 0.8"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从以上输出来看，不同变量之间相关系数的绝对值均小于或等于0.8。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "接下来，给模型的线性方程添加截距。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.430732700Z",
     "start_time": "2024-04-07T14:57:57.373644Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "     const  area  bedrooms  bathrooms  stories  parking  mainroad_yes  \\\n0      1.0  7420         4          2        3        2             1   \n1      1.0  8960         4          4        4        3             1   \n2      1.0  9960         3          2        2        2             1   \n3      1.0  7500         4          2        2        3             1   \n4      1.0  7420         4          1        2        2             1   \n..     ...   ...       ...        ...      ...      ...           ...   \n540    1.0  3000         2          1        1        2             1   \n541    1.0  2400         3          1        1        0             0   \n542    1.0  3620         2          1        1        0             1   \n543    1.0  2910         3          1        1        0             0   \n544    1.0  3850         3          1        2        0             1   \n\n     guestroom_yes  basement_yes  hotwaterheating_yes  airconditioning_yes  \\\n0                0             0                    0                    1   \n1                0             0                    0                    1   \n2                0             1                    0                    0   \n3                0             1                    0                    1   \n4                1             1                    0                    1   \n..             ...           ...                  ...                  ...   \n540              0             1                    0                    0   \n541              0             0                    0                    0   \n542              0             0                    0                    0   \n543              0             0                    0                    0   \n544              0             0                    0                    0   \n\n     prefarea_yes  furnishingstatus_semi-furnished  \\\n0               1                                0   \n1               0                                0   \n2               1                                1   \n3               1                                0   \n4               0                                0   \n..            ...                              ...   \n540             0                                0   \n541             0                                1   \n542             0                                0   \n543             0                                0   \n544             0                                0   \n\n     furnishingstatus_unfurnished  \n0                               0  \n1                               0  \n2                               0  \n3                               0  \n4                               0  \n..                            ...  \n540                             1  \n541                             0  \n542                             1  \n543                             0  \n544                             1  \n\n[545 rows x 14 columns]",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>const</th>\n      <th>area</th>\n      <th>bedrooms</th>\n      <th>bathrooms</th>\n      <th>stories</th>\n      <th>parking</th>\n      <th>mainroad_yes</th>\n      <th>guestroom_yes</th>\n      <th>basement_yes</th>\n      <th>hotwaterheating_yes</th>\n      <th>airconditioning_yes</th>\n      <th>prefarea_yes</th>\n      <th>furnishingstatus_semi-furnished</th>\n      <th>furnishingstatus_unfurnished</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1.0</td>\n      <td>7420</td>\n      <td>4</td>\n      <td>2</td>\n      <td>3</td>\n      <td>2</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>1.0</td>\n      <td>8960</td>\n      <td>4</td>\n      <td>4</td>\n      <td>4</td>\n      <td>3</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>1.0</td>\n      <td>9960</td>\n      <td>3</td>\n      <td>2</td>\n      <td>2</td>\n      <td>2</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>1.0</td>\n      <td>7500</td>\n      <td>4</td>\n      <td>2</td>\n      <td>2</td>\n      <td>3</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>1.0</td>\n      <td>7420</td>\n      <td>4</td>\n      <td>1</td>\n      <td>2</td>\n      <td>2</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>540</th>\n      <td>1.0</td>\n      <td>3000</td>\n      <td>2</td>\n      <td>1</td>\n      <td>1</td>\n      <td>2</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>541</th>\n      <td>1.0</td>\n      <td>2400</td>\n      <td>3</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>542</th>\n      <td>1.0</td>\n      <td>3620</td>\n      <td>2</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>543</th>\n      <td>1.0</td>\n      <td>2910</td>\n      <td>3</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>544</th>\n      <td>1.0</td>\n      <td>3850</td>\n      <td>3</td>\n      <td>1</td>\n      <td>2</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n    </tr>\n  </tbody>\n</table>\n<p>545 rows × 14 columns</p>\n</div>"
     },
     "execution_count": 104,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X = sm.add_constant(X)\n",
    "X"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下一步就可以调用OLS函数，利用最小二乘法来得到线性回归模型的参数值。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.430732700Z",
     "start_time": "2024-04-07T14:57:57.381754500Z"
    }
   },
   "outputs": [],
   "source": [
    "model = sm.OLS(y, X).fit()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "为了查看模型结果，我们使用`summary`方法来获得总结信息。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.430732700Z",
     "start_time": "2024-04-07T14:57:57.386084100Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                            OLS Regression Results                            \n",
      "==============================================================================\n",
      "Dep. Variable:                  price   R-squared:                       0.682\n",
      "Model:                            OLS   Adj. R-squared:                  0.674\n",
      "Method:                 Least Squares   F-statistic:                     87.52\n",
      "Date:                Sun, 07 Apr 2024   Prob (F-statistic):          9.07e-123\n",
      "Time:                        22:57:57   Log-Likelihood:                -8331.5\n",
      "No. Observations:                 545   AIC:                         1.669e+04\n",
      "Df Residuals:                     531   BIC:                         1.675e+04\n",
      "Df Model:                          13                                         \n",
      "Covariance Type:            nonrobust                                         \n",
      "===================================================================================================\n",
      "                                      coef    std err          t      P>|t|      [0.025      0.975]\n",
      "---------------------------------------------------------------------------------------------------\n",
      "const                            4.277e+04   2.64e+05      0.162      0.872   -4.76e+05    5.62e+05\n",
      "area                              244.1394     24.289     10.052      0.000     196.425     291.853\n",
      "bedrooms                         1.148e+05   7.26e+04      1.581      0.114   -2.78e+04    2.57e+05\n",
      "bathrooms                        9.877e+05   1.03e+05      9.555      0.000    7.85e+05    1.19e+06\n",
      "stories                          4.508e+05   6.42e+04      7.026      0.000    3.25e+05    5.77e+05\n",
      "parking                          2.771e+05   5.85e+04      4.735      0.000    1.62e+05    3.92e+05\n",
      "mainroad_yes                     4.213e+05   1.42e+05      2.962      0.003    1.42e+05    7.01e+05\n",
      "guestroom_yes                    3.005e+05   1.32e+05      2.282      0.023    4.18e+04    5.59e+05\n",
      "basement_yes                     3.501e+05    1.1e+05      3.175      0.002    1.33e+05    5.67e+05\n",
      "hotwaterheating_yes              8.554e+05   2.23e+05      3.833      0.000    4.17e+05    1.29e+06\n",
      "airconditioning_yes               8.65e+05   1.08e+05      7.983      0.000    6.52e+05    1.08e+06\n",
      "prefarea_yes                     6.515e+05   1.16e+05      5.632      0.000    4.24e+05    8.79e+05\n",
      "furnishingstatus_semi-furnished -4.634e+04   1.17e+05     -0.398      0.691   -2.75e+05    1.83e+05\n",
      "furnishingstatus_unfurnished    -4.112e+05   1.26e+05     -3.258      0.001   -6.59e+05   -1.63e+05\n",
      "==============================================================================\n",
      "Omnibus:                       97.909   Durbin-Watson:                   1.209\n",
      "Prob(Omnibus):                  0.000   Jarque-Bera (JB):              258.281\n",
      "Skew:                           0.895   Prob(JB):                     8.22e-57\n",
      "Kurtosis:                       5.859   Cond. No.                     3.49e+04\n",
      "==============================================================================\n",
      "\n",
      "Notes:\n",
      "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
      "[2] The condition number is large, 3.49e+04. This might indicate that there are\n",
      "strong multicollinearity or other numerical problems.\n"
     ]
    }
   ],
   "source": [
    "print(model.summary())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "当我们把显著区间设定为0.05时，以上结果的P值可以看出，模型认为以下因素对房屋价格没有显著性影响：卧室数、是否为简装房。此外，常数（表示线性方程的截距）的P值也很大，说明也没有显著影响。\n",
    "\n",
    "可以把这些变量移除后，再次建立线性回归模型。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.430732700Z",
     "start_time": "2024-04-07T14:57:57.394325800Z"
    }
   },
   "outputs": [],
   "source": [
    "X = X.drop(['const', 'bedrooms', 'furnishingstatus_semi-furnished'], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.430732700Z",
     "start_time": "2024-04-07T14:57:57.398048900Z"
    }
   },
   "outputs": [],
   "source": [
    "model = sm.OLS(y, X).fit()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.484584400Z",
     "start_time": "2024-04-07T14:57:57.402177400Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                                 OLS Regression Results                                \n",
      "=======================================================================================\n",
      "Dep. Variable:                  price   R-squared (uncentered):                   0.957\n",
      "Model:                            OLS   Adj. R-squared (uncentered):              0.956\n",
      "Method:                 Least Squares   F-statistic:                              1088.\n",
      "Date:                Sun, 07 Apr 2024   Prob (F-statistic):                        0.00\n",
      "Time:                        22:57:57   Log-Likelihood:                         -8333.5\n",
      "No. Observations:                 545   AIC:                                  1.669e+04\n",
      "Df Residuals:                     534   BIC:                                  1.674e+04\n",
      "Df Model:                          11                                                  \n",
      "Covariance Type:            nonrobust                                                  \n",
      "================================================================================================\n",
      "                                   coef    std err          t      P>|t|      [0.025      0.975]\n",
      "------------------------------------------------------------------------------------------------\n",
      "area                           257.5854     22.577     11.409      0.000     213.234     301.936\n",
      "bathrooms                     1.071e+06   9.27e+04     11.553      0.000    8.89e+05    1.25e+06\n",
      "stories                       5.084e+05   5.71e+04      8.898      0.000    3.96e+05    6.21e+05\n",
      "parking                       2.793e+05   5.83e+04      4.794      0.000    1.65e+05    3.94e+05\n",
      "mainroad_yes                  4.672e+05   1.27e+05      3.679      0.000    2.18e+05    7.17e+05\n",
      "guestroom_yes                 2.851e+05   1.31e+05      2.172      0.030    2.72e+04    5.43e+05\n",
      "basement_yes                  4.016e+05   1.07e+05      3.765      0.000    1.92e+05    6.11e+05\n",
      "hotwaterheating_yes           8.668e+05   2.23e+05      3.884      0.000    4.28e+05    1.31e+06\n",
      "airconditioning_yes           8.543e+05   1.07e+05      7.952      0.000    6.43e+05    1.07e+06\n",
      "prefarea_yes                  6.443e+05   1.15e+05      5.594      0.000    4.18e+05    8.71e+05\n",
      "furnishingstatus_unfurnished -3.493e+05   9.49e+04     -3.679      0.000   -5.36e+05   -1.63e+05\n",
      "==============================================================================\n",
      "Omnibus:                       94.840   Durbin-Watson:                   1.262\n",
      "Prob(Omnibus):                  0.000   Jarque-Bera (JB):              251.889\n",
      "Skew:                           0.865   Prob(JB):                     2.01e-55\n",
      "Kurtosis:                       5.845   Cond. No.                     2.74e+04\n",
      "==============================================================================\n",
      "\n",
      "Notes:\n",
      "[1] R² is computed without centering (uncentered) since the model does not contain a constant.\n",
      "[2] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
      "[3] The condition number is large, 2.74e+04. This might indicate that there are\n",
      "strong multicollinearity or other numerical problems.\n"
     ]
    }
   ],
   "source": [
    "print(model.summary())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看到，当我们把P值较大的自变量从线性回归模型中移除后，R方的值从0.682增长到了0.957，提高了模型对现有数据的拟合度。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "根据各个自变量在线性回归方程中的系数来看，模型预测以下因素的增加（或存在）会显著增加房屋价格：房屋面积、厕所数、楼层数、车库容量、位于主路、有客房、有地下室、有热水器、有空调、位于城市首选社区。\n",
    "\n",
    "线性回归模型预测以下因素的增加（或存在）会显著降低房屋价格：房屋未经装修，为毛坯房。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.484584400Z",
     "start_time": "2024-04-07T14:57:57.409619300Z"
    }
   },
   "outputs": [],
   "source": [
    "# 要预测房价的房屋的信息：\n",
    "# 面积为6500平方英尺，有4个卧室、2个厕所，总共2层，不位于主路，无客人房，带地下室，有热水器，没有空调，车位数为2，位于城市首选社区，简装修"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.484584400Z",
     "start_time": "2024-04-07T14:57:57.413875Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "   area  bedrooms  bathrooms  stories mainroad guestroom basement  \\\n0  5600         4          2        2       no        no      yes   \n\n  hotwaterheating airconditioning  parking prefarea furnishingstatus  \n0             yes              no        2      yes   semi-furnished  ",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>area</th>\n      <th>bedrooms</th>\n      <th>bathrooms</th>\n      <th>stories</th>\n      <th>mainroad</th>\n      <th>guestroom</th>\n      <th>basement</th>\n      <th>hotwaterheating</th>\n      <th>airconditioning</th>\n      <th>parking</th>\n      <th>prefarea</th>\n      <th>furnishingstatus</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>5600</td>\n      <td>4</td>\n      <td>2</td>\n      <td>2</td>\n      <td>no</td>\n      <td>no</td>\n      <td>yes</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>2</td>\n      <td>yes</td>\n      <td>semi-furnished</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "execution_count": 111,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "price_to_predict = pd.DataFrame({'area': [5600], 'bedrooms': [4], 'bathrooms': [2], \n",
    "                                 'stories': [2], 'mainroad': ['no'], 'guestroom': ['no'],\n",
    "                                 'basement': ['yes'], 'hotwaterheating': ['yes'],\n",
    "                                 'airconditioning': ['no'], 'parking': 2, 'prefarea': ['yes'],\n",
    "                                 'furnishingstatus': ['semi-furnished']})\n",
    "price_to_predict"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们需要把分类变量的类型转换为Category，并且通过`categories`参数，让程序知道所有可能的分类值。这样做的原因是，预测数据包含的分类可能不全。我们需要确保引入虚拟变量的时候，不会漏掉某个或某些分类。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.484584400Z",
     "start_time": "2024-04-07T14:57:57.422396300Z"
    }
   },
   "outputs": [],
   "source": [
    "price_to_predict['mainroad'] = pd.Categorical(price_to_predict['mainroad'], categories=['no', 'yes'])\n",
    "price_to_predict['guestroom'] = pd.Categorical(price_to_predict['guestroom'], categories=['no', 'yes'])\n",
    "price_to_predict['basement'] = pd.Categorical(price_to_predict['basement'], categories=['no', 'yes'])\n",
    "price_to_predict['hotwaterheating'] = pd.Categorical(price_to_predict['hotwaterheating'], categories=['no', 'yes'])\n",
    "price_to_predict['airconditioning'] = pd.Categorical(price_to_predict['airconditioning'], categories=['no', 'yes'])\n",
    "price_to_predict['prefarea'] = pd.Categorical(price_to_predict['prefarea'], categories=['no', 'yes'])\n",
    "price_to_predict['furnishingstatus'] = pd.Categorical(price_to_predict['furnishingstatus'], categories=['furnished', 'semi-furnished', 'unfurnished'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下一步，对分类变量引入虚拟变量。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.521252600Z",
     "start_time": "2024-04-07T14:57:57.430732700Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "   area  bedrooms  bathrooms  stories  parking  mainroad_yes  guestroom_yes  \\\n0  5600         4          2        2        2             0              0   \n\n   basement_yes  hotwaterheating_yes  airconditioning_yes  prefarea_yes  \\\n0             1                    1                    0             1   \n\n   furnishingstatus_semi-furnished  furnishingstatus_unfurnished  \n0                                1                             0  ",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>area</th>\n      <th>bedrooms</th>\n      <th>bathrooms</th>\n      <th>stories</th>\n      <th>parking</th>\n      <th>mainroad_yes</th>\n      <th>guestroom_yes</th>\n      <th>basement_yes</th>\n      <th>hotwaterheating_yes</th>\n      <th>airconditioning_yes</th>\n      <th>prefarea_yes</th>\n      <th>furnishingstatus_semi-furnished</th>\n      <th>furnishingstatus_unfurnished</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>5600</td>\n      <td>4</td>\n      <td>2</td>\n      <td>2</td>\n      <td>2</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "execution_count": 113,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "price_to_predict = pd.get_dummies(price_to_predict, drop_first=True, \n",
    "                                  columns=['mainroad', 'guestroom',\n",
    "                                           'basement', 'hotwaterheating',\n",
    "                                           'airconditioning','prefarea', \n",
    "                                           'furnishingstatus'], dtype=int)\n",
    "price_to_predict.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.521252600Z",
     "start_time": "2024-04-07T14:57:57.436857700Z"
    }
   },
   "outputs": [],
   "source": [
    "price_to_predict = price_to_predict.drop(['bedrooms', 'furnishingstatus_semi-furnished'], axis=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "接下来就可以调用线性回归模型的`predict`方法，获得预测价格。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.525258600Z",
     "start_time": "2024-04-07T14:57:57.443491800Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "0    7.071927e+06\ndtype: float64"
     },
     "execution_count": 115,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "predicted_value = model.predict(price_to_predict)\n",
    "predicted_value"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "线性回归模型预测的价格为：7071927。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-07T14:57:57.525258600Z",
     "start_time": "2024-04-07T14:57:57.445957800Z"
    }
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
